coactionjs /
coaction
Coaction 3.0 是一个开源的 JavaScript/TypeScript 状态管理库。它保留了 Zustand 风格简洁的 Store API,同时将自动渲染依赖追踪、缓存计算状态和“可变式写法、不可变结果”整合进同一套响应式模型。当应用需要扩展时,同一份 Store 还可以运行在 Web Worker 或 SharedWorker 中,为页面和多标签页提供统一的状态与 Action 执行能力。 核心要点 无需手写 Selec…
coactionjs /
Coaction 3.0 是一个开源的 JavaScript/TypeScript 状态管理库。它保留了 Zustand 风格简洁的 Store API,同时将自动渲染依赖追踪、缓存计算状态和“可变式写法、不可变结果”整合进同一套响应式模型。当应用需要扩展时,同一份 Store 还可以运行在 Web Worker 或 SharedWorker 中,为页面和多标签页提供统一的状态与 Action 执行能力。 核心要点 无需手写 Selec…
Coaction 3.0 是一个开源的 JavaScript/TypeScript 状态管理库。它保留了 Zustand 风格简洁的 Store API,同时将自动渲染依赖追踪、缓存计算状态和“可变式写法、不可变结果”整合进同一套响应式模型。当应用需要扩展时,同一份 Store 还可以运行在 Web Worker 或 SharedWorker 中,为页面和多标签页提供统一的状态与 Action 执行能力。 核心要点 无需手写 Selector:React 组件通过 observer() 自动追踪渲染期间实际读取的字段,只在相关状态变化时重新渲染。 计算属性自动缓存:直接使用 Getter 定义派生状态,依赖未变化时不会重复计算,无需额外使用 useMemo 或 Reselect。 可变式更新,不可变结果:在 set() 中直接修改草稿状态,最终仍生成不可变状态,兼顾开发体验与可预测性。 Action 可运行在 Worker 中:共享模式下,Action 在权威 Store 所在的 Worker 执行,页面端读取本地镜像,并自动等待状态同步完成。 可靠的共享状态协议:3.0 使用版本化的 JSON 通信协议,通过 authority epoch、连续 sequence、断线重连和完整同步处理并发与状态缺口。 按需选择运行时:提供 coaction/local、coaction/shared 和 coaction/adapter 独立入口,普通单线程应用无需引入完整的共享运行时。 保留显式控制能力:仍支持传统 Selector、自动 Selector Map 和手动声明依赖的 computed API。 覆盖主流前端生态:支持 React、Vue、Angular、Svelte 和 Solid,并提供 Zustand、Redux、MobX、Pinia、Jotai、Valtio、XState、Yjs 等集成。 适合渐进式采用:可以先作为普通的本地状态库使用,之后再根据架构需要迁移到 Worker、SharedWorker或多标签页共享模式。
Discuss this product