Fiber

为什么 Fiber

Fiber 执行过程

Reconciliation 阶段,如果遇到更高优先级事件,则进行打断,渲染到一半的组件,会从头开始渲染,
一些生命周期可能会重新执行,例如:

这些生命周期函数会在 Commit 阶段调用:

Fiber 树

workInProgress Fiber 树

Fiber 数据结构

interface FiberNode {
  stateNode: any; // 节点实例
  child: any; // 对应子节点
  sibling: any; // 对应兄弟节点
  return: any; // 对应父节点
}

Fiber 为什么使用链表