译零 TransZero · TanStack Query v4 中文文档
主站

默认的查询函数 Default Query Fn

如果出于某种原因,你希望在整个应用中共享相同的查询功能,并且可以仅靠查询键值来标识应获取的内容。 则可以通过重写 Vue Query 提供的默认查询函数来做到这一点:

TypeScript
1// 定义一个参数为查询键值的默认查询函数2const defaultQueryFn = async ({ queryKey }) => {3  const { data } = await axios.get(4    `https://jsonplaceholder.typicode.com${queryKey[0]}`,5  )6  return data7}8 9// 使用 defaultOptions 向你的应用提供默认查询函数10const vueQueryPluginOptions: VueQueryPluginOptions = {11  queryClientConfig: {12    defaultOptions: { queries: { queryFn: defaultQueryFn } },13  },14}15app.use(VueQueryPlugin, vueQueryPluginOptions)16 17// 现在,只需要传入一个键值就行了!18const { status, data, error, isFetching } = useQuery({19  queryKey: [`/posts/${postId}`],20})

如果你想覆盖默认的 queryFn,像平常一样提供一个函数即可。