From 7605d9b3da240ca22a1da546000eefd9591d1808 Mon Sep 17 00:00:00 2001 From: haesoo-y Date: Wed, 26 Feb 2025 22:33:08 +0900 Subject: [PATCH] chore(react-query): add warning when useSuspenseQuery is used without queryFn Added a console warning in development mode when useSuspenseQuery is called without a queryFn or initialData. This helps developers avoid potential issues by ensuring at least one of them is provided. --- packages/react-query/src/useSuspenseInfiniteQuery.ts | 3 +++ packages/react-query/src/useSuspenseQueries.ts | 3 +++ packages/react-query/src/useSuspenseQuery.ts | 3 +++ 3 files changed, 9 insertions(+) diff --git a/packages/react-query/src/useSuspenseInfiniteQuery.ts b/packages/react-query/src/useSuspenseInfiniteQuery.ts index 916e89265a..381e6b2fba 100644 --- a/packages/react-query/src/useSuspenseInfiniteQuery.ts +++ b/packages/react-query/src/useSuspenseInfiniteQuery.ts @@ -36,6 +36,9 @@ export function useSuspenseInfiniteQuery< if ((options.queryFn as any) === skipToken) { console.error('skipToken is not allowed for useSuspenseInfiniteQuery') } + if (!options.queryFn && !options.initialData) { + console.error('useSuspenseInfiniteQuery requires either `queryFn` or `initialData`') + } } return useBaseQuery( diff --git a/packages/react-query/src/useSuspenseQueries.ts b/packages/react-query/src/useSuspenseQueries.ts index a058efbfda..2aca511e46 100644 --- a/packages/react-query/src/useSuspenseQueries.ts +++ b/packages/react-query/src/useSuspenseQueries.ts @@ -182,6 +182,9 @@ export function useSuspenseQueries< if (query.queryFn === skipToken) { console.error('skipToken is not allowed for useSuspenseQueries') } + if (!query.queryFn && !query.initialData) { + console.error('useSuspenseQueries requires either `queryFn` or `initialData`') + } } return { diff --git a/packages/react-query/src/useSuspenseQuery.ts b/packages/react-query/src/useSuspenseQuery.ts index 7dfdb06477..21addcb965 100644 --- a/packages/react-query/src/useSuspenseQuery.ts +++ b/packages/react-query/src/useSuspenseQuery.ts @@ -18,6 +18,9 @@ export function useSuspenseQuery< if ((options.queryFn as any) === skipToken) { console.error('skipToken is not allowed for useSuspenseQuery') } + if (!options.queryFn && !options.initialData) { + console.error('useSuspenseQuery requires either `queryFn` or `initialData`') + } } return useBaseQuery(