Skip to content

Commit 34a5672

Browse files
authored
refactor(react-query): add error message for skipToken in useSuspenseQueries and useSuspenseInfiniteQuery (#7797)
* refactor(react-query): add error message for skipToken in useSuspenseQueries * refactor(react-query): add error message for skipToken in useSuspenseInfiniteQuery
1 parent bd3296b commit 34a5672

File tree

2 files changed

+29
-14
lines changed

2 files changed

+29
-14
lines changed

packages/react-query/src/useSuspenseInfiniteQuery.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
'use client'
2-
import { InfiniteQueryObserver } from '@tanstack/query-core'
2+
import { InfiniteQueryObserver, skipToken } from '@tanstack/query-core'
33
import { useBaseQuery } from './useBaseQuery'
44
import { defaultThrowOnError } from './suspense'
55
import type {
@@ -32,6 +32,12 @@ export function useSuspenseInfiniteQuery<
3232
>,
3333
queryClient?: QueryClient,
3434
): UseSuspenseInfiniteQueryResult<TData, TError> {
35+
if (process.env.NODE_ENV !== 'production') {
36+
if (options.queryFn === skipToken) {
37+
console.error('skipToken is not allowed for useSuspenseInfiniteQuery')
38+
}
39+
}
40+
3541
return useBaseQuery(
3642
{
3743
...options,

packages/react-query/src/useSuspenseQueries.ts

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
'use client'
2+
import {
3+
type DefaultError,
4+
type QueryClient,
5+
type QueryFunction,
6+
type ThrowOnError,
7+
skipToken,
8+
} from '@tanstack/query-core'
29
import { useQueries } from './useQueries'
310
import { defaultThrowOnError } from './suspense'
411
import type { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './types'
5-
import type {
6-
DefaultError,
7-
QueryClient,
8-
QueryFunction,
9-
ThrowOnError,
10-
} from '@tanstack/query-core'
1112

1213
// Avoid TS depth-limit error in case of large array literal
1314
type MAXIMUM_DEPTH = 20
@@ -190,13 +191,21 @@ export function useSuspenseQueries<
190191
return useQueries(
191192
{
192193
...options,
193-
queries: options.queries.map((query) => ({
194-
...query,
195-
suspense: true,
196-
throwOnError: defaultThrowOnError,
197-
enabled: true,
198-
placeholderData: undefined,
199-
})),
194+
queries: options.queries.map((query) => {
195+
if (process.env.NODE_ENV !== 'production') {
196+
if (query.queryFn === skipToken) {
197+
console.error('skipToken is not allowed for useSuspenseQueries')
198+
}
199+
}
200+
201+
return {
202+
...query,
203+
suspense: true,
204+
throwOnError: defaultThrowOnError,
205+
enabled: true,
206+
placeholderData: undefined,
207+
}
208+
}),
200209
} as any,
201210
queryClient,
202211
)

0 commit comments

Comments
 (0)