请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

getDerivedStateFromProps 执行的时机

getDerivedStateFromProps 方法会在 render 之前调用,那除了视频中实现的 update 里会调用 render 函数,在 class 组件首次挂载的时候,也会调用 render 方法。是否需要在 react-dom.js createDomFromClass 中也执行 getDerivedStateFromProps 函数来更新 state?

正在回答

插入代码

1回答

    你的理解是正确的,根据React的设计,以下两种情况会触发getDerivedStateFromProps的执行:

  1. 组件首次挂载:在组件实例被创建并插入到DOM中时,getDerivedStateFromProps会在render方法之前被调用。此时可以使用这个方法根据初次的props生成初次的state。

  2. 组件的props发生变化:当通过父组件传入的props发生变化时,getDerivedStateFromProps也会被调用。此时可以根据新的props和旧的state生成新的state。


我们手写的原始版代码应该会有不少这样的细节问题,因为只实现了最基本的核心逻辑,大家一方面可以尝试着去完善一些逻辑或者纠正其中一些不合理的地方加深理解,另外一方面也建议大家在分析源码的时候把重点放在React宏观思路上的掌握而不是实现细节,因为课程前半部分手写的原始版代码,只是为了我们后续手写React18的源码做好准备。

2 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号