我想知道useEffect
钩清理函数何时在 react 中被调用,它是在依赖项更改时被调用还是在卸载组件时被调用。
例如,在我的组件中,如果我有useEffect
useEffect(()=>{
return ()=>{
//clean up function code
} //clean up function
},[dependency])
清理函数会在更改时被调用dependency
还是在组件卸载时被调用。
当您传递dependency
时,它将在两种情况下(卸载和依赖项更改(进行清理:
React 究竟什么时候清理效果?参考文献
React 在组件卸载时执行清理。然而,正如我们 前面学习过,效果针对每个渲染运行,而不仅仅是一次。这 这就是为什么 React 还会清理之前渲染的效果 下次运行效果。
只是添加@Vivek多西答案。 useEffect是componentDidMount
、componentDidUpdate
和componentWillUnmount
组合的同义词。效果在第一次渲染时运行,所有后续重新渲染(除非提供条件(。
组件卸载时运行清理。
为了避免意外的错误,react 会在运行新效果之前清除效果。您可以使用此沙盒四处游玩并掌握概念