开始使用

安装

为应用选择边界最窄的 Coaction 入口与框架包。

开发 Coaction 仓库需要 Node.js 22 或更高版本。应用运行时包可通过你正在使用的包管理器从 npm 安装。

Vanilla 应用

本地 store 只需安装 core,并使用不包含传输代码的入口:

pnpm add coaction
import { create } from 'coaction';

默认入口就是单上下文 runtime。从这里无法触及任何 transport,因此 JSON protocol、epoch、重连与 transport runtime 完全不会进入 bundle。

当状态需要跨越 Worker、SharedWorker 或注入的 transport 边界时,使用共享入口:

import { create } from 'coaction/shared';

框架包

安装 core 和一个框架 binding:

pnpm add coaction @coaction/react
框架包主要响应式 API
React 18–19@coaction/reactcreate()、observer()、<Observer>
Vue@coaction/vuecallable store 与 computed selector
Angular@coaction/ngstore.select() signal
Svelte@coaction/sveltereadable selector store
Solid@coaction/solidselector accessor

可运行示例见框架集成。

可选集成

只安装实际拥有或装饰状态的集成:

# 已有外部状态运行时
pnpm add coaction @coaction/zustand zustand
pnpm add coaction @coaction/mobx mobx
pnpm add coaction @coaction/pinia pinia

# Coaction 自有 store middleware
pnpm add @coaction/logger
pnpm add @coaction/persist
pnpm add @coaction/history

# Yjs 协作
pnpm add @coaction/yjs yjs

外部状态适配器是 whole-store bridge。不要把 Zustand、MobX、Pinia、Jotai、Redux、Valtio 或 XState 适配器放在 Coaction 原生 slice key 下。

入口一览

Import适用对象
coaction本地 vanilla store 与 signal primitives
coaction/shared本地 store、共享权威端与 client mirror
coaction/adapter外部 store adapter 与底层 middleware 作者

共享代码必须同步升级

不要让新 shared client 连接仍运行不同 Coaction major 的权威端。Worker/SharedWorker 权威端与所有客户端应作为一个部署单元升级。

下一步,创建一个 store。

本页目录