我想知道何时useEffect
钩子清理函数在react中被调用,它是在依赖项更改时被调用还是在卸载组件时被调用。
例如在我的组件中,如果我有useEffect
useEffect(()=>{
return ()=>{
//clean up function code
} //clean up function
},[dependency])
将在dependency
上调用清除函数,或者在卸载组件时调用它。
当您通过dependency
时,它将清除所有情况(卸载和更改依赖项):
React何时确切清除效果? [Ref
React在组件卸载时执行清理。但是,正如我们 早先了解到,效果会在每个渲染中运行,而不仅仅是一次。这个 这就是为什么React还会在之前清除以前渲染中的效果 下次运行效果。
只需添加@Vivek Doshi答案。 useEffect是componentDidMount
,componentDidUpdate
和componentWillUnmount
组合的同义词。该效果在第一次渲染,所有后续重新渲染(除非提供条件的情况下)以及卸载组件时运行。
为了避免意外的错误,在运行新效果之前,react将清除效果。您可以使用[sandbox
玩转并掌握概念