Skip to content
目录

Reaction 副作用机制

Reaction 把「当这些 observable 变时执行副作用」自动化:autorunreactionwhen 三档 API,由粗到细。


1. 三种 API

API行为
autorun立即跑;依赖变再跑;自动收集依赖
reaction() => data 追踪 + (data) => effect 副作用;可比较 data 减少触发
when条件真时执行一次(Promise 友好)

2. 与 computed 边界

computedreaction
返回值、纯副作用、IO
参与 UI 数据日志、请求、路由

3. 清理

  • autorun 返回 disposer,组件 useEffect 里应 dispose。
  • mobx-reactobserver 在卸载时清理渲染 derivation。

4. 反模式

  • autorun 里改 observable → 可能无限循环。
  • 巨大 autorun 依赖整个 store → 任何小改都跑。

5. 总结

Reaction = 命令式 glue;数据流主体仍应是 observable + computed + action。

MIT License.