用途:TanStack DB 是一个本地优先(local-first)数据库与响应式层,本指南面向 React 应用,帮助编写和调试相关代码。它提供 useLiveQuery 与乐观变更(optimistic mutations),借助 d2ts 实现亚毫秒级更新。
主要能力:Schema 用于校验客户端状态,兼容 StandardSchema(如 Zod、Valibot),校验的是客户端变更而非服务端数据;更新时 TInput 必须是 TOutput 的超集。查询钩子支持类 SQL 的流式 API、表达式函数、useLiveSuspenseQuery 与查询组合。变更支持乐观更新、变更合并、临时 ID 处理,以及直接写入 QueryCollection。集合支持 eager、on-demand、progressive 等同步模式。错误处理涵盖 DuplicateKeyError、SchemaValidationError 等类型与事务状态。
使用方式:所有查询钩子都要求把依赖数组作为最后一个参数,规则同 useEffect,需包含全部外部值;省略则在每次渲染时运行,静态查询用 []。要禁用查询,从回调返回 undefined 或 null。路由预加载可在 loader 中 await collection.preload(),再在组件里用 useLiveQuery 消费。
社区集成:提供 Dexie.js(IndexedDB)与 PGLite(WASM PostgreSQL + Drizzle ORM)适配器。
限制:资料未提供安装命令、版本要求、收费与价格信息,暂未提供。