文档
全局配置

全局配置

QueryClientProvider 可以为所有的 Quaere hook 提供全局配置 (选项)。

const queryClient = createQueryClient({
    queries: {
      // query options
    },
    mutations: {
      // mutation options
    }
})
 
<QueryClientProvider client={queryClient}>
  <Component />
</QueryClientProvider>

在以下示例中,所有的 Quaere hook 都将使用提供的相同的 refetchInterval,默认每 3 秒刷新一次:

import { useQuery, createQueryClient, QueryClientProvider } from "quaere";
 
function Dashboard() {
  const { data: events } = useQuery({ query: eventsQuery });
  const { data: projects } = useQuery({ query: projectsQuery });
  const { data: user } = useQuery({
    query: userQuery,
    // override
    refetchInterval: false,
  });
 
  // ...
}
 
const queryClient = createQueryClient({
  queries: {
    refetchInterval: 3000,
  },
});
 
function App() {
  return (
    <QueryClientProvider client={queryClient}>
      <Dashboard />
    </QueryClientProvider>
  );
}

访问全局配置

你可以使用 getDefaultOptions 函数来访问全局配置或使用 queryClient 与缓存交互:

import { useQueryClient } from "quaere";
 
function Component() {
  const queryClient = useQueryClient();
 
  console.log(queryClient.getDefaultOptions());
 
  // ...
}