用途:该技能面向使用 TanStack Query v5(最新 5.90.5,2025 年 11 月)进行现代数据获取的 React 项目,强调基于 Suspense 的查询、缓存优先策略与集中式 API 服务。v5 于 2023 年 10 月发布,相对 v4 有破坏性变更:isLoading 改为 isPending,cacheTime 改为 gcTime,要求 React 18.0+,useQuery 移除 onError/onSuccess/onSettled 回调,keepPreviousData 由 placeholderData 函数替代。
主要能力:新组件默认使用 useSuspenseQuery,data 保证非 undefined,无需 isLoading 检查,配合 Suspense 边界统一加载体验;useQuery 仅用于需要组件级 loading/error 状态的场景。支持带参数查询、依赖查询、useMutation 及乐观更新(onMutate 快照、onError 回滚、onSettled 失效重取)。缓存管理包括 invalidateQueries、setQueryData 手动更新与 prefetchQuery 预取。推荐集中式 API 服务(如 postsApi)与查询键工厂(postKeys)保持键一致。错误可由 ErrorBoundary 捕获,支持 retry、retryDelay、gcTime 配置。
使用方式:安装并引入 @tanstack/react-query,用 useSuspenseQuery 传入 queryKey 与 queryFn,外层包裹 Suspense;mutation 通过 useMutation 与 useQueryClient 配合失效缓存。
适用场景:React 18+ 应用的数据请求、缓存同步、乐观更新与预取。限制:资料未提供安装命令、具体版本兼容细节及非 React 环境支持,暂未提供。