lane 模型
一句话结论:Lane 用位图表达更新的优先级与类别;Root 通过一组位图字段追踪“待处理/挂起/已过期”等状态,并据此选择下一次要渲染的 lanes。
1. Lane 的直觉
- 一条 Lane 代表一类优先级(或一组相关更新)
- 位图的好处:合并(OR)、筛选(AND/NOT)都非常快
2. Root 上常见的 lane 状态(概念)
pendingLanes:尚未完成的更新集合suspendedLanes:被 Suspense 挂起的集合pingedLanes:挂起后资源就绪、可重试的集合expiredLanes:等待过久,需要提升的集合
3. 选择 nextLanes 的关键点
- 总是优先处理更高优先级 lanes
- 但要考虑挂起/过期/重试,保证系统不会卡死在某个 lane 上