useEffect钩子清理函数何时在react中被调用

use*_*989 5 reactjs react-hooks use-effect

我想知道useEffect钩子清理函数何时在反应中被调用,它是在依赖项更改时调用还是在组件卸载时调用。

例如在我的组件中如果我有useEffect

useEffect(()=>{

  return ()=>{ 
             //clean up function code

             }  //clean up function

},[dependency])
Run Code Online (Sandbox Code Playgroud)

清理函数会在更改时调用dependency还是在组件卸载时调用。

Viv*_*shi 4

当您通过时,它将清理两种情况(卸载和依赖项更改)dependency

React 到底什么时候清理效果? 参考号

React 在组件卸载时执行清理工作。然而,正如我们之前了解到的,效果会在每次渲染时运行,而不仅仅是一次。这就是为什么 React 还会在下次运行效果之前清除先前渲染的效果。

  • 不,`unmout`是不同的东西,`re-render`是不同的东西,`umount`在组件被删除时触发,而`re-render`是由`props`和`state`的变化引起的,只是更新大教堂 (2认同)