Notes

React 中的优先级设计

一句话结论:React 把“更新来源”映射到不同优先级,核心目标是保证交互优先、可中断更新不阻塞主线程,并通过过期机制避免低优先级永远得不到执行。

1. 从宿主优先级到 React 语义

  • Scheduler 常见优先级:Immediate / UserBlocking / Normal / Low / Idle
  • React 常见映射:同步事件、连续输入、默认更新、Transition、空闲更新等

2. 为什么要分这么细

  • 输入/点击必须优先:否则用户感知是“坏了”
  • 列表渲染/数据刷新可稍后:允许被打断,提升整体流畅度

3. 如何避免饥饿

  • 低优先级更新如果等太久会“过期”(expired)并被提升
  • 这使得系统在“响应性”与“最终完成”之间取得平衡

关联阅读

cd ..