MCPcopy Create free account
hub / github.com/TanStack/query / usePrefetchQuery

Function usePrefetchQuery

packages/vue-query/src/usePrefetchQuery.ts:33–69  ·  view source on GitHub ↗
(
  options: MaybeRefOrGetter<
    MaybeRefDeep<
      UsePrefetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>
    >
  >,
  queryClient?: QueryClient,
)

Source from the content-addressed store, hash-verified

31}
32
33export function usePrefetchQuery<
34 TQueryFnData = unknown,
35 TError = DefaultError,
36 TData = TQueryFnData,
37 TQueryKey extends QueryKey = QueryKey,
38>(
39 options: MaybeRefOrGetter<
40 MaybeRefDeep<
41 UsePrefetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>
42 >
43 >,
44 queryClient?: QueryClient,
45): void {
46 if (process.env.NODE_ENV === 'development') {
47 if (!getCurrentScope()) {
48 console.warn(
49 'vue-query composable like "useQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.',
50 )
51 }
52 }
53
54 const client = queryClient || useQueryClient()
55
56 watchEffect(() => {
57 const resolvedOptions = isGetter(options) ? options() : unref(options)
58 const clonedOptions: UsePrefetchQueryOptions<
59 TQueryFnData,
60 TError,
61 TData,
62 TQueryKey
63 > = cloneDeepUnref(resolvedOptions)
64
65 if (!client.getQueryState(clonedOptions.queryKey)) {
66 void client.prefetchQuery(clonedOptions)
67 }
68 })
69}

Calls 6

useQueryClientFunction · 0.90
cloneDeepUnrefFunction · 0.90
isGetterFunction · 0.70
optionsFunction · 0.50
getQueryStateMethod · 0.45
prefetchQueryMethod · 0.45

Tested by

no test coverage detected