关于es6:React源码学习Part4Render渲染Update阶段

Render渲染(Update阶段)

  • 同Mount阶段一样,也是有“递”和“归”两个阶段

“递阶段”

  1. 同Mount阶段不同的是,在beginWork办法中会进入 if (current !== null)这一条件分支,外面会对此次构建的Fibre和上次的Fibre节点进行比拟

     if (
       oldProps !== newProps ||
       hasLegacyContextChanged() ||
       (__DEV__ ? workInProgress.type !== current.type : false)
     ) 
  2. 会给didReceiveUpdate字段赋值,用于断定是否发生变化
  3. 如果Fiber节点前后无变动,则进入bailoutOnAlreadyFinishedWork办法
  4. 若没有满足条件,则进入switch语句,依据不同的case条件,执行不同的操作
  • “递阶段图解”

“归阶段”

  • 后续更新…

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理