10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

TanStack DB 发布 Beta 版本,支持反应式查询、乐观变更和本地优先同步

作者:Daniel Curtis

  • 2025-09-02
    北京
  • 本文字数:1136 字

    阅读完需:约 4 分钟

大小:493.22K时长:02:48
TanStack DB发布Beta版本,支持反应式查询、乐观变更和本地优先同步

TanStack Query 背后的团队 TanStack 宣布 TanStack DB 发布 beta 版本,这是一个嵌入式的客户端数据库,旨在为前端应用程序带来反应式查询、事务性变更和实时同步。该库建立在 TanStack Query 之上,目的是简化现代 Web 应用程序中的复杂状态管理和缓存。


TanStack DB 引入了几种新功能,包括类型化集合、实时查询和事务性变更器(mutator)。集合会作为记录的规范化存储,而实时查询允许开发者订阅结果,这些结果会随着底层数据的变化而增量更新。与传统的重新运行查询不同,TanStack DB 使用差分(differential)数据流引擎仅重新计算受变更影响的部分查询,即使对于复杂的连接,也能实现亚毫秒级的查询更新。


其中一个主要特性是支持乐观变更。开发者可以在本地应用更改,并立即在 UI 中反映它们,而 TanStack DB 则在后台处理同步和回滚。这种方法基于 TanStack Query 中的模式,但目的是使它们更可靠。


集合、实时查询和变更可以使用与现有 TanStack Query 用户类似的格式,文档中包含了示例:

const todoCollection = createCollection({
// ...config
onUpdate: updateMutationFn,
})

const { data: todos } = useLiveQuery((q) =>
q.from({ todo: todoCollection }).where(({ todo }) => todo.completed)
)
const complete = (todo) => {
todoCollection.update(todo.id, (draft) => {
draft.completed = true
})
}
复制代码


TanStack DB 还强调了独立于后端实现的同步方式。数据可以从 REST、GraphQL、轮询 API 或实时同步提供者(如 ElectricSQL)加载或同步。这使得可以预加载大型数据集并保持同步,而无需引入自定义状态管理层或手动协调的逻辑。


来自开发者社区的早期反馈既表现出兴奋也表现出谨慎。在 r/reactjs 上,一位开发者这样评论道:这看起来很有前景,但仍然显得粗糙。我不会把我的应用押宝在 Beta 版本上。


在 Hacker News 上,鉴于当前的既有实现使用起来很困难,有人对该特性表示很兴奋:我感到非常兴奋。当前的客户端数据库实现很难使用。它会支持 IndexedDB 吗?


在 Medium 上,Shaya 详细论述了 TanStack DB 是如何解决前端框架中乐观更新方面长期存在的问题的:能够仅使用 TanStack Query 进行乐观更新吗?坦白说,它们有点糟糕……TanStack DB 通过集合、实时查询和乐观变更扩展了 TanStack Query,以保持 UI 的反应性、一致性和极速性。


TanStack DB 仍处于 beta 阶段,维护者提醒说,目前应将其视为实验性的。然而,它的逐步采用模型允许开发者将其逐渐集成到现有的 TanStack Query 应用程序中,而且它已经为 React、Vue、Solid、Svelte 或 VanillaJS 提供了适配器。


TanStack DB 是开源的,可以在 npm 上找到。官方站点提供了文档、示例和指南。


原文链接:

TanStack DB Enters Beta with Reactive Queries, Optimistic Mutations, and Local-First Sync

2025-09-02 13:001

评论

发布
暂无评论

JAVA中的函数接口,你都用过吗

不在线第一只蜗牛

Java 函数 接口设计

AdaBoost算法解密:从基础到应用的全面解析

不在线第一只蜗牛

机器学习 算法 集成学习

TDengine Contributor 钟宇讲述 TSZ 压缩算法优化背后的故事

TDengine

tdengine 时序数据库

seller_info-获得淘宝店铺详情api接口有什么作用?

技术冰糖葫芦

API 文档

软件测试 | ChatGPT:个性定制的人工智能助手

测吧(北京)科技有限公司

测试

人工智能 | 企业智能化升级:大语言模型、知识图谱与微信机器人的完美结合

测吧(北京)科技有限公司

测试

大数据云原生能力成熟度模型,重磅发布!

腾讯云大数据

云原生

DTSE Tech Talk | 3招解决时序数据高基数难题,性能多维度提升!

华为云开源

时序数据库 高基数 华为云开源

一书了解国产操作系统openEuler

博文视点Broadview

软件测试/测试开发丨人工智能的与软件测试完美结合

测试人

人工智能 软件测试

数据集成实施过程注意点总结

RestCloud

ETL 数据集成

电影:从微缩模型到AI纹理

3D建模设计

3D模型 模型纹理

3D 纹理渲染如何帮助设计师有效、清晰地表达设计理念

3D建模设计

3D渲染 Stable Diffusion 3D纹理

Sam Altman 或回归 OpenAI;格力 1.3 万研发人员没有海归派 & 外国人丨 RTE 开发者日报 Vol.86

声网

如何消除excel保存密码?

尚思卓越

网络安全 运维管理 密码保存

人工智能助力测试领域:智能化测试框架与平台的崭新未来

测吧(北京)科技有限公司

测试

软件测试/测试开发/人工智能丨Python类型转换

测试人

人工智能 软件测试

打造自己的3D模型AI 自动纹理工具

3D建模设计

Stable Diffusion 3D纹理

建筑可视化中的 3D 纹理

3D建模设计

渲染 3D纹理 建模模型

TanStack DB发布Beta版本,支持反应式查询、乐观变更和本地优先同步_数据库_InfoQ精选文章