簡體   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