[英]React 'useEffect' hook replaces how many lifecycle methods?
React useEffect
可以替代多少生命周期方法?
我发现一篇关于useEffect
hook 的文章声称它只能替换三个,即componentDidMount
、 componentDidUpdate
和componentWillUnmount
。
其他人呢?
这实际上就是全部。 useEffect() 在组件安装后调用,而不是在每次状态更新时调用。 如果你想把它用作 componentWillUnmout 你必须像这样返回一个清理函数
useEffect(() => {
//something you want to do
return () => console.log('cleanup is running');
});
不,差不多就是这样,尽管当您返回一个函数并且不传递依赖项时它接近componentWillUpdate
(它只是在第一次渲染之前不运行)
仔细想想,这是一个非常简单的钩子。 规则非常简单:
您传递给useEffect
的函数:
您从useEffect
函数返回的函数:
最好不要考虑它取代的生命周期事件。 而是考虑这 4 条规则以及如何让它们在您需要时运行您的功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.