我收到此错误
'subscribe' 在定义之前被使用。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
.
useForm()
正在从另一个文件中使用,并在提交表单后调用(callback() -> subscribe()):
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;
});
}
关于javascript - 我应该如何重构这段代码以防止函数在定义之前被使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57457513/