核心概念

Store 模式与入口

理解本地 store、共享权威端、client mirror 与 Coaction 的隔离包边界。

同一套 public store contract 会出现在三种运行模式中。

模式store.share写入权威方法结果
Localfalse当前 runtime同步
Shared main'main'main runtime在权威端同步
Shared client'client'main runtime向 client 返回 Promise

Local 模式

import { create } from 'coaction/local';

const store = create(source);

Local 模式在一个 runtime 内拥有状态与执行权。除非显式启用,否则它不生成 patch,因此是建议的起点。

Shared main 模式

当 store 拥有 main transport,或运行在被识别的 Worker 权威环境时,它会成为共享权威端:

import { create } from 'coaction/shared';

const store = create(source, { transport });

Main store 执行 action、提交状态、发送有序 patch,并提供 full snapshot。

Shared client 模式

传入 WorkerSharedWorker 或 client transport 会创建镜像:

const store = create(source, { worker });

await store.getState().increment();

Client method 是异步的,因为执行发生在权威端。client 可以读取并订阅本地镜像状态,但直接调用 setState()apply() 会被拒绝。

隔离入口

包提供静态边界,便于 bundler 排除无关运行时代码:

入口包含内容
coaction/local本地创建、生命周期 helper、signal primitive
coaction/shared共享创建、JSON protocol、权威/client 同步
coaction/adapter外部 store binding 与 state/patch 安全 helper
coaction跨越本地与共享选择的兼容 surface

框架包暴露自己的 create() wrapper,并可能同时支持 local 与 worker option。Vanilla 代码直接选择 coaction/localcoaction/shared 可获得最清楚的 bundle 边界。

继续阅读共享运行时概览,了解权威语义与部署规则。

本页目录