javascript - 在 React 16 中贬低生命周期挂钩的主要原因
问题描述
我试图了解在版本 16中贬值componentWillMount
/ componentWillUpdate
/的主要原因。componentWillReceiveProps
react
在高层次上,它们似乎被贬低了,因为它们的命名鼓励开发人员进行 API 调用,这些调用在下一个生命周期事件(例如render
)已经发生后返回,因此开发人员应该使用componentDidX
对应的。
因此,本质上,正因为如此,这些生命周期事件正在被贬值,并且componentWillRecieveProps
正在被放入更恰当的名称getDerivedStateFromProps
中,而其他componentDidX
方法正在被推送。
这是一般正确的高级推理吗?
解决方案
因为 React 正在实现异步渲染,这将导致在某些情况下多次调用像 componentWillMount 这样的生命周期事件,这就是 React 团队弃用这些方法并将它们标记为 UNSAFE 的原因。
您可以在此链接中获得更多详细信息。
更新:以下帖子很好地解释了 componentWillMount 如何被误用,因此 React 核心团队将它们标记为不安全:Revisiting use of React's Component Life Cycle Hooks in Anticipation of Async Rendering
推荐阅读
- mysql - 在一个文件中编写多个 MySQL(在 vsCode 中)查询。如何避免不断写“USE DBaseName”?
- charts - 如何在颤振、x 轴和 y 轴上为图表添加名称?
- android - 两个克隆的模拟器同一个token,怎么改?
- python - 将记事本可读的未知文件类型转换为 .csv 文件
- ios - 在 UILabel 上使用 NSMutableAttributedString 时表情符号丢失
- stata - 按变量散点图颜色
- scala - 单元测试期间 Scala Deadline 的模拟时间
- ansible - 在 ansible 寄存器变量中搜索字符串列表
- java - 如何将当前时间戳添加到 Java 中的 Date 对象?
- java - 异常后执行程序