繁体   English   中英

我应该如何重构此代码以防止在定义函数之前使用该函数

[英]How should I refactor this code to prevent function was used before it was defined

我在'subscribe' was used before it was defined.eslint(no-use-before-define)了此错误'subscribe' was used before it was defined.eslint(no-use-before-define)在这里:

    const { values, handleChange, handleSubmit } = useForm(subscribe);

    function subscribe() {
        axios.post(fAction, values, {headers: {'Accept': 'application/json'}} )
        .then((response) => {
            document.querySelector('#js-response-newsletter-message > p').innerText = response.data.message;
        });
    }

在这里应该遵循什么方法?

我尝试用const切换function ,但是由于我在subscribe()中使用value ,所以我也会const同样的问题。

useForm()正在另一个文件中使用,并且在提交表单(callback()-> useForm()后调用它:

  const handleSubmit = (event) => {
    if (event) event.preventDefault();
    if (values.email !== undefined && values.email !== '') {
      callback(event);
    }
  };

如果您不想禁用任何规则,可以做的是预先声明函数。 像这样:

var subscribe;

const { values, handleChange, handleSubmit } = useForm(subscribe);

function subscribe() {
  axios.post(fAction, values, {headers: {'Accept': 'application/json'}} )
        then((response) => {
    document.querySelector('#js-response-newsletter-message > p').innerText = 
        response.data.message;
    });
 }

ESLint编辑器中的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM