FiberRootNode
一句话结论:FiberRootNode 代表“一个挂载点(root)”,它持有当前 Fiber 树与调度状态;任何更新最终都会汇聚到 root,再由 root 决定下一次渲染的优先级与时机。
1. 它主要保存什么(概念)
containerInfo:宿主容器(如 DOM 的根节点)current:当前已提交(current)Fiber 树的 HostRoot FiberfinishedWork:render 完成、等待 commit 的 workInProgress 树- lanes 状态:
pendingLanes、suspendedLanes、pingedLanes、expiredLanes等 - 调度句柄:
callbackNode/callbackPriority(与 Scheduler 的回调绑定)
2. 它主要做什么
- 汇总更新:把从子 Fiber 冒泡上来的 lane 信息汇聚到 root
- 选择工作:计算 nextLanes / renderLanes,安排 render
- 进入 commit:把 finishedWork 一次性提交到宿主环境(DOM)