我对React Hooks的依赖性感到困惑。下面是一个例子:
const memorizeValue = useMemo(() => {
return {
count,
setCount,
}
}, [count, setCount])
React纪录片:
注意
依赖项数组不会作为参数传递给函数。然而,从概念上讲,这就是它们所代表的:每一个价值在函数内部引用的也应该出现在依赖项中大堆在未来,一个足够先进的编译器可以创建该数组自动执行。
count
和setCount
都在useMemo的回调中,如果我不在依赖数组中传递setCount
,esint不会警告我,但count
会,那么有什么区别?为什么不需要通过setCount
?setCount
在useMemo里面,不是吗?
这是代码沙盒链接:
https://codesandbox.io/s/react-codesandbox-forked-xfupk?file=/src/Demo1/index.js:254-363
我想我可能误解了这份文件。有人指出,谢谢。
检查useState文档
注意
React保证
setState
函数身份是稳定的,不会重新渲染时的更改。这就是为什么从useEffect
中省略是安全的或CCD_ 9依赖性列表。
假设setCount
是useState
钩子的更新器函数,那么它就保证是一个稳定的引用。