【发布时间】:2022-02-14 20:32:08
【问题描述】:
React linter 发出警告:
'someUnsharingArray' 数组使 useEffect Hook(在第 42 行)的依赖关系在每次渲染时都发生变化。将它移到 useEffect 回调中。或者,在自己的 useMemo() Hook react-hooks/exhaustive-deps 中包装 'someUnchangArray' 的初始化
为什么? someUnchangingArray 是一个常数,不会改变,为什么 React linter 建议它会在每次渲染时触发 useEffect?
export default function Component(
const [initialized, setInitialized] = useState(false);
const someUnchangingArray = ["1", ""];
useEffect(() => {
if (!initialized) {
// do some iniitializing
console.log(someUnchangingArray, initialized);
setInitialized(true);
}
}, [someUnchangingArray, initialized]);
...
【问题讨论】:
标签: reactjs react-hooks