Skip to content

Commit

Permalink
refactor(react-query): split prefetch.ts (#8028)
Browse files Browse the repository at this point in the history
* fix(react-query): split prefetch.ts

* chore: update

---------

Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
  • Loading branch information
manudeli and TkDodo committed Sep 8, 2024
1 parent 5cb0bd4 commit 42715e7
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 19 deletions.
2 changes: 1 addition & 1 deletion packages/react-query/src/__tests__/prefetch.test-d.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { describe, expectTypeOf, it } from 'vitest'
import { usePrefetchInfiniteQuery, usePrefetchQuery } from '../prefetch'
import { usePrefetchInfiniteQuery, usePrefetchQuery } from '..'

describe('usePrefetchQuery', () => {
it('should return nothing', () => {
Expand Down
3 changes: 2 additions & 1 deletion packages/react-query/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ export type {
SuspenseQueriesResults,
SuspenseQueriesOptions,
} from './useSuspenseQueries'
export { usePrefetchQuery, usePrefetchInfiniteQuery } from './prefetch'
export { usePrefetchQuery } from './usePrefetchQuery'
export { usePrefetchInfiniteQuery } from './usePrefetchInfiniteQuery'
export { queryOptions } from './queryOptions'
export type {
DefinedInitialDataOptions,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,10 @@ import { useQueryClient } from './QueryClientProvider'
import type {
DefaultError,
FetchInfiniteQueryOptions,
FetchQueryOptions,
QueryClient,
QueryKey,
} from '@tanstack/query-core'

export function usePrefetchQuery<
TQueryFnData = unknown,
TError = DefaultError,
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
>(
options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
queryClient?: QueryClient,
) {
const client = useQueryClient(queryClient)

if (!client.getQueryState(options.queryKey)) {
client.prefetchQuery(options)
}
}

export function usePrefetchInfiniteQuery<
TQueryFnData = unknown,
TError = DefaultError,
Expand Down
23 changes: 23 additions & 0 deletions packages/react-query/src/usePrefetchQuery.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { useQueryClient } from './QueryClientProvider'
import type {
DefaultError,
FetchQueryOptions,
QueryClient,
QueryKey,
} from '@tanstack/query-core'

export function usePrefetchQuery<
TQueryFnData = unknown,
TError = DefaultError,
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
>(
options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
queryClient?: QueryClient,
) {
const client = useQueryClient(queryClient)

if (!client.getQueryState(options.queryKey)) {
client.prefetchQuery(options)
}
}

0 comments on commit 42715e7

Please sign in to comment.