NocoBase 的 Observable 响应式机制本质上与 MobX 类似。当前底层实现采用的是 @formily/reactive,语法和理念与 MobX 高度兼容,仅因历史原因未直接使用 MobX。
在 NocoBase 2.0 中,Observable 响应式对象无处不在。它是底层数据流和 UI 响应的核心,广泛应用于 FlowContext、FlowModel、FlowStep 等环节。
NocoBase 之所以选择 Observable,而不是 Redux、Recoil、Zustand、Jotai 等状态管理方案,主要原因有:
observer 包裹组件,组件会自动追踪用到的 Observable 属性,数据变更时自动刷新 UI,无需手动管理依赖。observer 会监听 Observable 对象的变化,并在数据发生变动时自动触发 React 组件的更新。这样可以让你的 UI 与数据保持同步,无需手动调用 setState 或其他更新方法。
如需了解更多响应式用法,可参考 @formily/reactive 文档。