Skip to content

Commit 373546b

Browse files
skiende74manudeliautofix-ci[bot]
authored
fix(react-query): fix to show type error on wrong type annotation in useQuery (#8683)
* fix(react-query): fix no error on wrong type annotation * test(react-query): remove an unused var * feat: use NoInfer from query-core * ci: apply automated fixes * fix: fix eslint error (disable) --------- Co-authored-by: Jonghyeon Ko <[email protected]> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
1 parent 732089e commit 373546b

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

packages/react-query/src/__tests__/useQuery.test-d.tsx

+16
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,22 @@ describe('useQuery', () => {
277277
}
278278
})
279279

280+
// eslint-disable-next-line vitest/expect-expect
281+
it('TData should depend from only arguments, not the result', () => {
282+
// @ts-expect-error
283+
const result: UseQueryResult<{ wow: string }> = useQuery({
284+
queryKey: ['key'],
285+
queryFn: () => {
286+
return {
287+
wow: true,
288+
}
289+
},
290+
initialData: () => undefined as { wow: boolean } | undefined,
291+
})
292+
293+
void result
294+
})
295+
280296
it('data should not have undefined when initialData is provided', () => {
281297
const { data } = useQuery({
282298
queryKey: ['query-key'],

packages/react-query/src/useQuery.ts

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
'use client'
22
import { QueryObserver } from '@tanstack/query-core'
33
import { useBaseQuery } from './useBaseQuery'
4-
import type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core'
4+
import type {
5+
DefaultError,
6+
NoInfer,
7+
QueryClient,
8+
QueryKey,
9+
} from '@tanstack/query-core'
510
import type {
611
DefinedUseQueryResult,
712
UseQueryOptions,
@@ -20,7 +25,7 @@ export function useQuery<
2025
>(
2126
options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
2227
queryClient?: QueryClient,
23-
): DefinedUseQueryResult<TData, TError>
28+
): DefinedUseQueryResult<NoInfer<TData>, TError>
2429

2530
export function useQuery<
2631
TQueryFnData = unknown,
@@ -30,7 +35,7 @@ export function useQuery<
3035
>(
3136
options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
3237
queryClient?: QueryClient,
33-
): UseQueryResult<TData, TError>
38+
): UseQueryResult<NoInfer<TData>, TError>
3439

3540
export function useQuery<
3641
TQueryFnData = unknown,
@@ -40,7 +45,7 @@ export function useQuery<
4045
>(
4146
options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
4247
queryClient?: QueryClient,
43-
): UseQueryResult<TData, TError>
48+
): UseQueryResult<NoInfer<TData>, TError>
4449

4550
export function useQuery(options: UseQueryOptions, queryClient?: QueryClient) {
4651
return useBaseQuery(options, QueryObserver, queryClient)

0 commit comments

Comments
 (0)