【发布时间】:2019-11-20 04:22:04
【问题描述】:
我有一个如下所示的组件:
const MyComponent = props => {
const { checked, onChange, id } = props;
const [isChecked, setChecked] = useState(false);
useEffect(() => {
onChange && onChange({ isChecked: !!checked, id });
setChecked(checked);
}, [checked]);
const childProps = {
id,
isChecked
};
return <ChildComponent {...childProps} />;
};
穷举-deps lint 规则并不令人满意:
React Hook useEffect 缺少依赖项:
id和onChange。 要么包含它们,要么删除依赖数组。 (react-hooks/exhaustive-deps)eslint
我知道id 和onChange 不会改变,所以将它们添加到依赖数组中似乎没有必要。但这条规则不是警告,而是明确的指示。
是 ESLint 规则:
1) 在这种情况下过于谨慎而且有点愚蠢,所以可以忽略不计?
2) 突出最佳实践 - 即尽量减少将来可能发生的意外错误,例如,如果父组件的更改意味着 id 将在将来的某个时间点发生更改?
3) 显示当前代码的实际/可能问题?
【问题讨论】:
标签: reactjs react-hooks use-effect