Notes

FiberRootNode

一句话结论:FiberRootNode 代表“一个挂载点(root)”,它持有当前 Fiber 树与调度状态;任何更新最终都会汇聚到 root,再由 root 决定下一次渲染的优先级与时机。

1. 它主要保存什么(概念)

  • containerInfo:宿主容器(如 DOM 的根节点)
  • current:当前已提交(current)Fiber 树的 HostRoot Fiber
  • finishedWork:render 完成、等待 commit 的 workInProgress 树
  • lanes 状态:pendingLanessuspendedLanespingedLanesexpiredLanes
  • 调度句柄:callbackNode/callbackPriority(与 Scheduler 的回调绑定)

2. 它主要做什么

  • 汇总更新:把从子 Fiber 冒泡上来的 lane 信息汇聚到 root
  • 选择工作:计算 nextLanes / renderLanes,安排 render
  • 进入 commit:把 finishedWork 一次性提交到宿主环境(DOM)

关联阅读

cd ..