Skip to content
目录

状态传播与批处理

Observable 变更后,MobX 沿依赖图通知 computed 与 reaction;批处理把同一事件循环内多次变更合并为一次下游刷新。


1. 传播方向

text
observable 改
  → 通知直接 observers(computed / reaction)
  → computed 若脏,再通知其 observers
  → 最终到 React observer 重渲染

POSSIBLY_STALE:延迟标记,避免级联中重复计算(见 10)。


2. 批处理

API作用
action / runInAction事务内多次改值,结束后再统一传播
transaction(旧 API 概念)合并通知

与 React 18 批处理叠加:MobX 先合并自己的通知,React 再合并 setState。


3. 与 Redux 对比

MobXRedux
改字段即触发必须 dispatch
自动找订阅者手动 connect 范围

4. 总结

理解 action 边界 + 批处理 可避免「改十个字段渲染十次」;复杂更新包在 runInAction 里。

MIT License.