beginWork后续的操作中怎么创建兄弟节点的后代fiber?

来源:5-5 updateClassComponent

躁动的胸大肌

2021-01-18

  while (nextUnitOfWork !== null) {
      nextUnitOfWork = performUnitOfWork(nextUnitOfWork);
    }
next = completeUnitOfWork(workInProgress);

从root开始循环
第一次nextunitOfWork = App的fiber
第二次处理App这个fiber,如果有三个节点,next = 第一个child,同时创建了第二个child,第三个child的fiber,
第三次处理的时候 只会处理App的第一个child节点的子节点,并没有看到处理他的兄弟节点的fiber的子节点?

写回答

1回答

Jokcy

2021-01-19

节点遍历是深度优先遍历的,所以是从最左侧的子节点遍历到叶子节点,再回过头来遍历兄弟节点的,后面应该有讲到

0
4
Jokcy
回复
躁动的胸大肌
这也不是一行代码的事情,你硬要说的话在ReactChildFiber的reconcileChildrenArray函数
2021-01-21
共4条回复

React源码深度解析 高级前端工程师必备技能

掌握React源码,让你的开发水平没有上限,更不惧前端未来的到来

1749 学习 · 336 问题

查看课程