聊聊 React 的优先级机制(Lane 模型)
结论:React 用 Lane 位图把更新按优先级分层,并在 root 上维护一组 lane 状态(pending/suspended/expired 等),从而实现“高优先级插队 + 低优先级最终也能完成”的调度平衡。
1. Lane 模型一句话
- Lane = 更新的“优先级标签”,位图让合并/筛选非常快
2. root 如何用 lanes 决策
pendingLanes:有哪些更新待处理getNextLanes选择本轮 renderLanes(优先级最高且可执行的那组)expiredLanes防止饿死:等太久就提升
3. 与 Transition 的关系
startTransition会把更新放进较低优先级 lanes- 输入等高优先级更新可插队,保证交互