首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ComponentDidMount()生命周期

ComponentDidMount()生命周期
EN

Stack Overflow用户
提问于 2021-01-14 00:01:10
回答 1查看 79关注 0票数 1

我是一个react初学者,正在研究"ComponentDidMount“的生命周期。我看到的是,一旦页面挂载到浏览器中,就会调用ComponentDidMount。完全没问题。但令我惊讶的是,我们也可以在这一部分设置订阅或事件侦听器。那么我们如何订阅,它在react中的什么位置订阅?比如它在react中是如何工作的?

EN

Stack Overflow用户

回答已采纳

发布于 2021-01-14 17:05:54

发生的情况是React已经为每个组件实现了这些方法,默认情况下它们只是为空,而您只需更改以使用您自己的方法覆盖它们(正如您在official doc on components的介绍部分中简要看到的那样)。

基本上,正如你可以想象的那样,React确实会运行各种指令来获取你的组件,将它们注入页面,更新它们的视图,删除它们,等等。当它这样做时,它自然知道组件在生命周期的哪个部分,所以对于react来说,将代码的执行添加到它已经在做的事情上是非常简单的。

所以你不需要关心谁或者如何调用你的方法/代码,因为这是react已经完全设置好的。

也就是说,如果您创建计时器、订阅promises、可观察性或任何类似异步性质的内容,您可能需要在这些之后进行清理(React不能为您做这件事,因为它不知道这些订阅),这可以在componentWillUnmount()生命周期方法中完成,该方法在组件从页面卸载之前运行。(我希望你看过这个diagram,它真的做得很好)

话虽如此,我认为重要的是要记住,向前发展的React正在远离基于类的组件,并建议使用带有hooks的功能组件,而不是带有生命周期方法的类组件。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65705488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档