我的组件有三个属性。urlText是一个字符串,setSelectedText是从connect()和clearPage更新状态的redux操作,后者是清除状态的另一个redux操作。
我只想在urlText更改时更新状态。我想在卸载时清除状态。
I get this eslint warning `react-hooks/exhaustive-deps: React Hook useEffect has missing dependencies: setSelectedText`
warning `react-hooks/exhaustive-deps: React Hook useEffect has missing dependencies: clearPage`
const Component = ({ urlText, setSelectedText, clearPage }) => {
useEffect(() => {
setSelectedText(urlText);
}, [urlText]);
useEffect(() => {
return () => {
clearPage();
};
}, []);
};
发布于 2020-10-29 11:13:25
它不会对您的脚本运行方式产生任何影响,但linter警告您将其更改为:
useEffect(() => {
setSelectedText(
urlText
);
}, [setSelectedText, urlText]);
useEffect(() => {
return () => {
clearPage();
};
}, [clearPage]);
虽然最后一个可以简化为:
useEffect(() => clearPage, clearPage);
https://stackoverflow.com/questions/64584439
复制相似问题