React Query API文档

React Query 是一个用于在 React 应用中管理服务器状态的库。它提供了一套简单而强大的工具来处理数据获取、缓存、同步和更新。

关键特性:

  1. 数据获取和缓存:自动缓存请求的数据,并在需要时重新获取。

  2. 状态管理:轻松管理加载、错误和成功状态。

  3. 分页和无限加载:支持分页和无限滚动的数据获取。

  4. 后台刷新:可以在后台自动刷新数据以保持最新。

  5. SSR 支持:支持服务器端渲染(SSR)和静态站点生成(SSG)。

  6. 乐观更新:允许在变更前更新 UI,以提高用户体验。

核心 API

  1. QueryClient

    • new QueryClient(): 创建一个新的 QueryClient 实例。
  2. QueryClientProvider

    • <QueryClientProvider client={queryClient}>: 提供 QueryClient 的上下文。
  3. useQuery

    • useQuery(queryKey, queryFn, options): 获取数据的主要钩子。
  4. useMutation

    • useMutation(mutationFn, options): 用于创建或更新数据的钩子。
  5. useQueryClient

    • useQueryClient(): 获取当前的 QueryClient 实例。

高级 API

  1. useQueries

    • useQueries(queryConfigs): 并行获取多个查询。
  2. useInfiniteQuery

    • useInfiniteQuery(queryKey, queryFn, options): 用于获取分页数据。
  3. useIsFetching

    • useIsFetching(queryKey): 检查是否有正在进行的查询。
  4. useIsMutating

    • useIsMutating(mutationKey): 检查是否有正在进行的变更。
  5. useHydrate

    • useHydrate(state): 用于在 SSR 中恢复状态。

工具函数

  1. QueryClient Methods

    • queryClient.fetchQuery(): 手动触发查询。
    • queryClient.prefetchQuery(): 预取数据。
    • queryClient.invalidateQueries(): 使查询无效。
    • queryClient.refetchQueries(): 重新获取查询。
    • queryClient.setQueryData(): 手动设置查询数据。
    • queryClient.getQueryData(): 获取查询数据。
  2. dehydrate / hydrate

    • dehydrate(queryClient): 序列化查询状态。
    • hydrate(queryClient, dehydratedState): 恢复查询状态。

配置

  1. QueryCache

    • new QueryCache(): 自定义查询缓存。
  2. MutationCache

    • new MutationCache(): 自定义变更缓存。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容