SuperAPI AI 工具集

tanstack-query

编程与开发

查看项目

更新于 10-16 04:59

技能介绍

用途:TanStack Query(即 React Query)用于服务端状态管理,提供自动缓存与同步能力。本技能给出在 React 项目中使用它的最佳实践,适合在实现服务端状态管理、API 数据获取时参考。

主要能力与用法:资料按步骤给出示例代码。第一步 Setup,通过 QueryClient 和 QueryClientProvider 配置默认选项,如 staleTime、gcTime、retry、refetchOnWindowFocus,并可使用 ReactQueryDevtools。第二步 Query Keys Factory,用统一工厂集中管理查询键。第三步自定义 Query Hook,用 useQuery 配合 queryKey 与 queryFn,并可用 enabled 控制条件执行。第四步 Mutations,用 useMutation 并在 onSuccess 中 invalidateQueries 刷新数据,onError 处理错误。第五步乐观更新,onMutate 中取消查询、快照旧值并 setQueryData,onError 回滚,onSettled 重新拉取。第六步无限查询分页,用 useInfiniteQuery 配合 getNextPageParam 与 initialPageParam。第七步预取,用 queryClient.prefetchQuery 在悬停时预载。第八步依赖查询,用 enabled 等待前置查询成功。

常见选项:staleTime 表示数据保持新鲜的时间;gcTime 表示未使用数据在缓存中保留的时间;enabled 用于条件获取;select 用于转换响应数据;placeholderData 用于加载期间占位。

使用方式:技能本身为文档型指令,需在已使用 @tanstack/react-query 的项目中按示例接入,涉及安装与版本等细节资料未提供。

限制:资料为代码示例与最佳实践,未提供收费、价格、平台支持、性能效果等事实,这些内容暂未提供。