【发布时间】:2020-04-03 20:40:52
【问题描述】:
我有以下情况:
const [values, setValues] = useState({
username: "",
password: ""
});
const [submitButton, setSubmitButton] = useState({
disabled: true
});
useEffect(() => {
const disabled = !(values.username.length && values.password.length);
setSubmitButton({ ...submitButton, disabled });
}, [values]);
这工作得很好,完全符合我的要求,但 ESLint 抱怨 react-hooks/exhaustive-deps 警告。
当我执行 eslint autofix 时,它会将 setSubmitButton 添加为 useEffect 的依赖项,但这会导致无限循环。这似乎是一个简单的情况,但我无法弄清楚我做错了什么。我已经看到其他人的代码在 useEffect 中使用 setState 等而不将其声明为依赖项。
【问题讨论】:
标签: javascript reactjs jsx react-hooks