使用 React 的新效果挂钩,如果某些值在重新渲染之间没有更改,我可以告诉 React 跳过应用效果 - React 文档中的示例:
useEffect(() => {
document.title = `You clicked ${count} times`;
}, [count]); // Only re-run the effect if count changes
但是上面的示例将效果应用于初始渲染以及后续重新渲染时 count
已更改。我如何告诉 React 跳过初始渲染的效果?
原文由 uturnr 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如指南所述,
在本指南的示例中,预计
count
仅在初始渲染时为 0:所以它将作为
componentDidUpdate
工作,并进行额外检查:这基本上是可以用来代替
useEffect
的自定义钩子的工作方式:感谢@Tholle 建议
useRef
而不是setState
。