const [active, setActive] = useState(false);
const onActiveChanged = useCallback(
isActive => () => {
// do something
setActive(isActive);
},
[setActive], // or just [] is okay?
);
同时使用useState
和useCallback
(或useMemo
)时,我应该在依赖项数组中包含setState
吗?
答案 0 :(得分:0)
对此的建议也位于React Docs - Hooks API Reference上。
setState函数用于更新状态。它接受一个新的 状态值,并重新渲染组件。
setState(newState);
在随后的重新渲染期间,第一个值 useState返回的状态始终是之后的最新状态 应用更新。
注意
React保证setState函数身份稳定且不会 重新渲染。这就是为什么可以安全地忽略useEffect的原因 或useCallback依赖项列表。
答案 1 :(得分:0)
不。正如文档所说:
React保证setState函数身份稳定且不会 重新渲染。这就是为什么可以安全地忽略useEffect的原因 或useCallback依赖项列表。