Notes

执行上下文 executionContext

一句话结论:executionContext 是一个位标记,用来标识 React 当前处于哪个关键阶段(render/commit 等);它帮助 React 防止重入、决定何时允许同步刷新、以及如何处理嵌套更新。

1. 为什么需要它

  • React 的内部流程很复杂:事件触发更新、render、commit、effect,又可能触发新更新
  • 没有“当前所处阶段”的标识,很难避免在错误时机做错误的事(例如 commit 中再次进入 render)

2. 它通常用于哪些决策

  • 现在是否正在 render?能否安全地开始一次新的 render?
  • 现在是否正在 commit?某些更新是否应该延后?
  • 是否处于批处理上下文?要不要合并更新再统一调度?

3. 面试表达建议

  • 把它讲成“状态机开关”:保证内部流程有序、可预测
  • 结合例子:flushSync 为什么能强制同步(本质是改变调度/上下文规则)

关联阅读

cd ..