Notes

fiber lanes

一句话结论:每个 Fiber 都会记录 lanes/childLanes 来表示“自己/子树有哪些待处理工作”,这样 root 在遍历时能快速跳过无更新的子树,提高调度与渲染效率。

1. 常见字段(概念)

  • fiber.lanes:该 Fiber 自身上直接挂着的更新 lanes
  • fiber.childLanes:该 Fiber 子树上存在的更新 lanes(从子节点冒泡汇总)

2. 它在遍历中如何生效

  • beginWork 前可以判断:本次 renderLanes 是否与 lanes/childLanes 相交
  • 不相交 → 这棵子树对本轮无关,直接跳过(bailout)

3. 与“插队”的关系

  • 新的高优先级 lane 冒泡后,root 会选择新的 renderLanes
  • 旧的低优先级工作可能被暂停/重做,但跳过机制可减少无效遍历

关联阅读

cd ..