假设我在初始渲染时使用 useEffect 预取数据:
function myComponent(props) {
const { fetchSomething } = props;
...
...
useEffect(() => {
fetchSomething();
}, []);
...
...
}
我的 linter 警告我“React Hook useCallback 缺少依赖项”。它要我将 fetchSomething
放入 dependencies 数组中。
问题是即使 fetchSomething
将被更改,我也不希望组件重新获取数据。而且在我看来,useEffect 使用函数的大多数情况下,它并不真正关心函数是否被更改。
我不想关闭该警告,也不喜欢在我的代码中散布 //eslint-disable-next-line react-hooks/exhaustive-deps
。
这种行为背后的理性是什么?
这让我在使用 hooks 时感到不安全,好像我做错了什么。
最佳答案
您可以使用useRef
或useMemo
来存储值。
关于javascript - React hooks 警告我缺少依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56410246/