采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
getDerivedStateFromProps 方法会在 render 之前调用,那除了视频中实现的 update 里会调用 render 函数,在 class 组件首次挂载的时候,也会调用 render 方法。是否需要在 react-dom.js createDomFromClass 中也执行 getDerivedStateFromProps 函数来更新 state?
你的理解是正确的,根据React的设计,以下两种情况会触发getDerivedStateFromProps的执行:
组件首次挂载:在组件实例被创建并插入到DOM中时,getDerivedStateFromProps会在render方法之前被调用。此时可以使用这个方法根据初次的props生成初次的state。
getDerivedStateFromProps
render
组件的props发生变化:当通过父组件传入的props发生变化时,getDerivedStateFromProps也会被调用。此时可以根据新的props和旧的state生成新的state。
我们手写的原始版代码应该会有不少这样的细节问题,因为只实现了最基本的核心逻辑,大家一方面可以尝试着去完善一些逻辑或者纠正其中一些不合理的地方加深理解,另外一方面也建议大家在分析源码的时候把重点放在React宏观思路上的掌握而不是实现细节,因为课程前半部分手写的原始版代码,只是为了我们后续手写React18的源码做好准备。
登录后可查看更多问答,登录/注册
通过手写5000+,深入理解 React 内部机制
458 9
190 7
354 7
480 6
406 5
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号