【发布时间】:2019-09-08 07:48:11
【问题描述】:
const [active, setActive] = useState(false);
const onActiveChanged = useCallback(
isActive => () => {
// do something
setActive(isActive);
},
[setActive], // or just [] is okay?
);
当同时使用useState 和useCallback(或useMemo)时,我是否应该在依赖项数组中包含setState?
【问题讨论】:
-
@AngelSalazar useState 中的更新程序方法没有被记忆或没有保留相同的引用?
-
我的错,根据文档“React 保证 setState 函数标识是稳定的,并且不会在重新渲染时改变。这就是为什么从 useEffect 或 useCallback 依赖列表中省略是安全的。”
-
@AngelSalazar 感谢您的确认!我还在github.com/reactjs/reactjs.org/blob/master/content/docs/… 中找到了那部分,所以只需传递一个空数组就可以了。您可以将其作为此问题的答案,或者我将发布我自己问题的答案。
标签: reactjs react-hooks