前端
PythonJava运维数据库
TanStack Query
TanStack Query
  • getting started
    • 快速开始
    • 开发工具
    • Typescript
    • 默认配置
    • 网络模式
  • Query
    • 查询
    • 查询键
    • 查询函数
    • 查询选项
    • 并行查询
    • 有依赖的查询
    • 查询状态指示器
    • 窗口聚焦重新获取数据
    • 禁用/暂停查询
    • 查询重试
    • 分页查询
    • 无限查询
    • 初始化查询数据
  • 占位符
  • Mutation
    • 修改 Mutations
    • 主动查询失效 Query Invalidation
    • 修改导致的失效 Invalidation From Mutations
    • 通过修改的数据更新查询内容
    • 乐观更新
  • 取消查询
  • 默认查询函数
  • 过滤器
  • Suspense
  • 缓存数据
  • Api Reference
    • QueryClient
    • QueryCache
    • MutationCache
    • QueryObserver QueriesObserver
    • InfiniteQueryObserver
    • FocusManager
    • NotifyManager
    • useQuery
    • useQueries useInfiniteQuery
    • useMutation
    • useIsFetching
    • useIsMutating
    • useMutationState
    • useSuspenseQuery
    • useSuspenseInfiniteQuery
    • useSuspenseQueries
    • QueryClientProvider
    • useQueryClient
    • queryOptions
    • infiniteQueryOptions
    • QueryErrorResetBoundary
    • useQueryErrorResetBoundary
    • hydration
由 GitBook 提供支持
在本页

这有帮助吗?

默认查询函数

如果你发现自己出于某种原因希望可以为整个应用程序共享相同的查询函数,并且只使用查询键来确定它应该获取什么,你可以通过为 TanStack Query提供默认查询函数来实现:

const *defaultQueryFn* = async ({ *queryKey* }) => {
  const { *data* } = await axios.get(`https://jsonplaceholder.typicode.com${*queryKey*}`);
  return *data*;
};

const *queryClient* = new QueryClient({
  defaultOptions: {
    queries: {
      queryFn: *defaultQueryFn
    }
  }
});

function App() {
  return (
    <QueryClientProvider client={*queryClient*}>
      <YourApp />
    </QueryClientProvider>
  );
}

function Posts() {
  const { *status*, *data* } = useQuery({ queryKey: ['/posts'] });
  return undefined
}

function Post({ *postId* }) {
  const { *status* } = useQuery({
    queryKey: [`/posts/${*postId*}}`],
    enabled: !!*postId
  });
}
上一页取消查询下一页过滤器

最后更新于2个月前

这有帮助吗?