router-query-integration
整合 TanStack Router 与 TanStack Query 以提升单页应用 (SPA) 效能,实现路由预加载、查询预获取与流畅的导航体验。
简介
Router × Query Integration 技能是为 React 开发人员设计的专业工作流组件,专注于构建高效能单页应用 (SPA)。此技能解决了消除请求瀑布流 (request waterfalls) 并提升路由转换时感知效能的挑战,通过将路由级数据获取与全局查询状态管理同步来达成目标。它主要针对使用 TanStack Router 和 TanStack Query 的团队,提供标准化且具备类型安全的数据编排方案。通过在组件渲染前使用路由加载器 (loaders) 启动数据获取,用户可确保导航过程流畅,同时保有缓存去重与 stale-while-revalidate 模式的优势。此技能涵盖了多种实现策略,从简单的查询预获取到复杂的相依请求与并行加载,并确保通过整合路由器错误边界与 suspense 组件实现稳健的错误处理。
-
使用 ensureQueryData、prefetchQuery 与 fetchQuery 模式实现路由级数据预获取。
-
利用路由加载器内的 Promise.all 实现数据并行加载,以最大化导航期间的处理效率。
-
通过 Query Options 模式 (queryOptions) 强化类型安全与代码重复利用。
-
管理相依查询,处理后续数据请求依赖于先前加载器数据的场景。
-
提供变更 (mutation) 后手动清除缓存的模式,确保 UI 状态与服务器保持同步。
-
支持开发阶段除错,协助自动挂载 Router 与 Query Client 的开发者工具。
-
输入包括 React 路由定义、现有的 TanStack Query 客户端,以及用于数据获取的 API 服务函数。
-
输出包含优化的加载器配置与查询整合模式,旨在最小化请求延迟。
-
开发人员应集中定义查询键 (query keys) 以确保应用程序整体的缓存一致性。
-
当页面渲染必须依赖数据时,建议使用 ensureQueryData 以防止不必要的重复获取。
-
利用 staleTime 配置来平衡数据新鲜度需求与网络性能。
-
务必将路由级加载器与组件层中的 React Query hooks 搭配使用,以维护对即时数据状态与后台自动更新功能的访问。
仓库统计
- Star 数
- 255
- Fork 数
- 31
- Open Issue 数
- 7
- 主要语言
- TypeScript
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年4月29日 07:29