用途:在前端项目中实现 API 调用、缓存、加载与错误状态、乐观更新、分页与无限滚动、实时同步及离线优先等数据获取需求,避免用 useEffect + useState 手写请求。
主要能力:以 stale-while-revalidate 模式先用缓存再后台重新请求;通过层次化 queryKey 设计配合 staleTime 与 gcTime 双层缓存控制;支持乐观更新(立即更新 UI、失败回滚)、错误边界与重试(网络错误重试、业务错误不重试)、Prefetch 预加载、无限滚动与分页、Mutation 后失效或直接更新缓存。
覆盖方案:TanStack Query(React / Vue)、SWR、RTK Query、Apollo Client、urql、Pinia Colada、Pinia Query。文档给出各库的查询、Mutation、乐观更新、Prefetch、全局配置示例,以及 Axios API 客户端封装(请求/响应拦截、Token 注入、错误统一处理)和 MSW Mock 用法。
使用方式:先按接口类型选库(REST 用 TanStack Query / SWR,GraphQL 用 Apollo / urql,已用 Redux 用 RTK Query),再封装 API 客户端、设计 queryKey、处理 Loading / Error / Empty / Success 四态、配置缓存与失效时机、对关键操作做乐观更新、按需 Prefetch 与 Mock。
适用场景:REST / GraphQL 集成、缓存策略设计、状态管理、无限滚动与分页、实时数据同步、离线优先。
限制:具体版本、安装命令、收费与平台支持等资料暂未提供;示例代码需按项目实际技术栈调整。