SuperAPI AI 工具集

tanstack-db-core-collection-setup

数据与分析

查看项目

更新于 10-16 00:02

技能介绍

用途:在 TanStack DB 中创建带类型的集合,并根据后端选择对应适配器。安装与依赖、版本价格暂未提供。

主要能力:createCollection 统一集合 API,可搭配 queryCollectionOptions(REST/TanStack Query)等适配器。适配器对照:REST/TanStack Query 用 queryCollectionOptions(@tanstack/query-db-collection);ElectricSQL 用 electricCollectionOptions;PowerSync 用 powerSyncCollectionOptions;RxDB 用 rxdbCollectionOptions;TrailBase 用 trailbaseCollectionOptions;无后端用 localOnlyCollectionOptions;localStorage 用 localStorageCollectionOptions。无后端时先用 localOnly,换成真实适配器只需改 options 创建器。

同步模式:syncMode 默认 'eager'(全量预加载,适合小于 1 万行、偏静态数据);'on-demand' 按实时查询加载,适合搜索、目录、大表(大于 5 万行);'progressive' 仅 Electric,先查子集再后台全量。

索引:默认 autoIndex 为 'off',需索引时设 autoIndex: 'eager' 并给 defaultIndexType(如 BasicIndex);缺 defaultIndexType 会抛 CollectionConfigurationError。也可用 collection.createIndex() 手动创建、collection.removeIndex() 删除。

主要用法:用 schema 描述字段与转换;用 getKey 返回唯一键;用 onInsert/onUpdate/onDelete 处理变更,Electric 需返回 txid 以保留乐观状态。

限制与常见错误:queryFn 返回值被视作完整服务端状态,返回空数组会删除全部数据,增量获取须自行合并;需为真实后端选用正确适配器;Electric 的 txid 必须在同一 SQL 事务内查询,否则 awaitTxId 默认 5 秒超时;schema 校验须同步,异步会抛 SchemaMustBeSynchronousError;getKey 对每一项都必须有值,否则抛 UndefinedKeyError;有 schema 转换时 TInput 须是 TOutput 的超集;React Native 需引入 crypto.randomUUID 的 polyfill;提供 schema 时不要再写显式泛型;直接写入可能被下一次同步覆盖。具体后端字段、版本支持等信息暂未提供。