本技能面向 TypeScript 与 JavaScript 客户端实现。生成绑定到客户端源码树并从该路径导入:spacetime generate --lang typescript --out-dir client/src/module_bindings --module-path spacetimedb,随后从模块绑定导入 DbConnection 与 tables 等生成名称,用 DbConnection.builder() 配置 withUri、withDatabaseName、onConnect、onConnectError、onDisconnect 后 build()。查询与缓存方面,优先使用生成查询构建器(如 tables.user 及 where 条件、表引用数组);仅在查询构建器无法表达的高级场景才用原始 SQL 订阅。subscribeToAllTables() 启动后无法取消,需要生命周期控制时改用具体订阅。行回调 onInsert、onDelete、onUpdate 在行进入、离开或更新本地缓存时触发,含订阅应用与移除。reducer 从绑定中生成,方法名与参数形状来自生成代码。React 场景把 DbConnection.builder() 传给 SpacetimeDBProvider 且不调用 .build(),用 useTable(tables.foo) 与 useReducer(reducers.foo) 实现响应式数据与调用。注意 @clockworklabs/spacetimedb-sdk 已废弃,改用 spacetimedb 包并要求 CLI 1.4.0 或更高版本。优先使用实际项目中的生成绑定名称,示例仅为模式而非本地标识符保证;保持订阅设置、缓存读取、reducer 观察与调用的顺序。若主要任务是项目初始化,应转向对应快速入门技能。官方文档与参考文件之外的费用、平台等信息暂未提供。
spacetimedb-client-typescript
编程与开发
更新于 10-15 20:32