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

Function usePrefetchQuery

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

Source from the content-addressed store, hash-verified

47}
48
49export function usePrefetchQuery<
50 TQueryFnData = unknown,
51 TError = DefaultError,
52 TData = TQueryFnData,
53 TQueryData = TQueryFnData,
54 TQueryKey extends QueryKey = QueryKey,
55>(
56 options: MaybeRefOrGetter<
57 MaybeRefDeep<
58 UsePrefetchQueryOptions<
59 TQueryFnData,
60 TError,
61 TData,
62 TQueryData,
63 TQueryKey
64 >
65 >
66 >,
67 queryClient?: QueryClient,
68): void {
69 if (process.env.NODE_ENV === 'development') {
70 if (!getCurrentScope()) {
71 console.warn(
72 '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.',
73 )
74 }
75 }
76
77 const client = queryClient || useQueryClient()
78
79 watchEffect(() => {
80 const resolvedOptions = isGetter(options) ? options() : unref(options)
81 const clonedOptions: UsePrefetchQueryOptions<
82 TQueryFnData,
83 TError,
84 TData,
85 TQueryData,
86 TQueryKey
87 > = cloneDeepUnref(resolvedOptions)
88
89 if (!client.getQueryState(clonedOptions.queryKey)) {
90 void client.query(clonedOptions).catch(noop)
91 }
92 })
93}

Calls 6

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

Tested by

no test coverage detected