From 9a7bfd97998712fd46c05a05ede0286357a6d674 Mon Sep 17 00:00:00 2001 From: Yoomin Kang Date: Tue, 18 Feb 2025 00:53:38 +0900 Subject: [PATCH] fix(react-query): fix queryOptions with initialData to work on useSuspenseQueries (#8658) --- .../src/__tests__/useSuspenseQueries.test-d.tsx | 13 +++++++++++++ packages/react-query/src/queryOptions.ts | 9 ++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/react-query/src/__tests__/useSuspenseQueries.test-d.tsx b/packages/react-query/src/__tests__/useSuspenseQueries.test-d.tsx index a7770fdf57..8c02dec975 100644 --- a/packages/react-query/src/__tests__/useSuspenseQueries.test-d.tsx +++ b/packages/react-query/src/__tests__/useSuspenseQueries.test-d.tsx @@ -154,4 +154,17 @@ describe('UseSuspenseQueries config object overload', () => { expectTypeOf(data).toEqualTypeOf() }) }) + + it('queryOptions with initialData works on useSuspenseQueries', () => { + const query1 = queryOptions({ + queryKey: ['key1'], + queryFn: () => 'Query Data', + initialData: 'initial data', + }) + + const queryResults = useSuspenseQueries({ queries: [query1] }) + const query1Data = queryResults[0].data + + expectTypeOf(query1Data).toEqualTypeOf() + }) }) diff --git a/packages/react-query/src/queryOptions.ts b/packages/react-query/src/queryOptions.ts index 714d38a5f7..05cb906726 100644 --- a/packages/react-query/src/queryOptions.ts +++ b/packages/react-query/src/queryOptions.ts @@ -55,7 +55,14 @@ export function queryOptions< TQueryKey extends QueryKey = QueryKey, >( options: DefinedInitialDataOptions, -): DefinedInitialDataOptions & { +): Omit< + DefinedInitialDataOptions, + 'queryFn' +> & { + queryFn?: Exclude< + UseQueryOptions['queryFn'], + SkipToken | undefined + > queryKey: DataTag }