diff --git a/.changeset/unlucky-trees-kick.md b/.changeset/unlucky-trees-kick.md
new file mode 100644
index 000000000..a50c850dd
--- /dev/null
+++ b/.changeset/unlucky-trees-kick.md
@@ -0,0 +1,5 @@
+---
+"@suspensive/react-query-4": major
+---
+
+feat(react-query-4): set network mode to always
diff --git a/packages/react-query-4/src/SuspenseInfiniteQuery.test-d.tsx b/packages/react-query-4/src/SuspenseInfiniteQuery.test-d.tsx
index 585e6f052..9bd096cb3 100644
--- a/packages/react-query-4/src/SuspenseInfiniteQuery.test-d.tsx
+++ b/packages/react-query-4/src/SuspenseInfiniteQuery.test-d.tsx
@@ -98,6 +98,24 @@ describe('', () => {
)}
))()
+ ;(() => (
+
+ {(query) => (
+ <>
+ {query.data.pages
+ .filter(({ text }) => text)
+ .map((item, index) => (
+ {item.text}
+ ))}
+ >
+ )}
+
+ ))()
;(() => (
{(query) => {
diff --git a/packages/react-query-4/src/SuspenseQuery.test-d.tsx b/packages/react-query-4/src/SuspenseQuery.test-d.tsx
index f19930624..45e1841d9 100644
--- a/packages/react-query-4/src/SuspenseQuery.test-d.tsx
+++ b/packages/react-query-4/src/SuspenseQuery.test-d.tsx
@@ -57,6 +57,16 @@ describe('', () => {
{(query) => <>{query.data.text}>}
))()
+ ;(() => (
+
+ {(query) => <>{query.data.text}>}
+
+ ))()
;(() => (
{(query) => {
diff --git a/packages/react-query-4/src/infiniteQueryOptions.ts b/packages/react-query-4/src/infiniteQueryOptions.ts
index e32c6099e..962f535de 100644
--- a/packages/react-query-4/src/infiniteQueryOptions.ts
+++ b/packages/react-query-4/src/infiniteQueryOptions.ts
@@ -20,6 +20,7 @@ export type SelectedInfiniteOptions<
| 'enabled'
| 'refetchInterval'
| 'initialData'
+ | 'networkMode'
>,
'queryKey' | 'queryFn'
> & {
@@ -45,6 +46,7 @@ export type UnSelectedInfiniteOptions<
| 'enabled'
| 'refetchInterval'
| 'initialData'
+ | 'networkMode'
>,
'queryKey' | 'queryFn'
> & {
diff --git a/packages/react-query-4/src/queryOptions.ts b/packages/react-query-4/src/queryOptions.ts
index 1d39a9ff5..7475afaa1 100644
--- a/packages/react-query-4/src/queryOptions.ts
+++ b/packages/react-query-4/src/queryOptions.ts
@@ -22,6 +22,7 @@ export type SelectedQueryOptions<
| 'enabled'
| 'refetchInterval'
| 'initialData'
+ | 'networkMode'
>,
'queryKey' | 'queryFn'
> & {
@@ -49,6 +50,7 @@ export type UnSelectedQueryOptions<
| 'enabled'
| 'refetchInterval'
| 'initialData'
+ | 'networkMode'
>,
'queryKey' | 'queryFn'
> & {
diff --git a/packages/react-query-4/src/useSuspenseInfiniteQuery.test-d.ts b/packages/react-query-4/src/useSuspenseInfiniteQuery.test-d.ts
index 094671edd..785d02021 100644
--- a/packages/react-query-4/src/useSuspenseInfiniteQuery.test-d.ts
+++ b/packages/react-query-4/src/useSuspenseInfiniteQuery.test-d.ts
@@ -38,6 +38,12 @@ describe('useSuspenseInfiniteQuery', () => {
queryFn,
// @ts-expect-error no isPlaceholderData
}).isPlaceholderData
+ useSuspenseInfiniteQuery({
+ queryKey,
+ queryFn,
+ //@ts-expect-error no networkMode
+ networkMode: 'always',
+ })
const infiniteQuery = useSuspenseInfiniteQuery({ queryKey, queryFn })
expectTypeOf(infiniteQuery).toEqualTypeOf>()
diff --git a/packages/react-query-4/src/useSuspenseInfiniteQuery.ts b/packages/react-query-4/src/useSuspenseInfiniteQuery.ts
index 6c342a59f..4597fe10f 100644
--- a/packages/react-query-4/src/useSuspenseInfiniteQuery.ts
+++ b/packages/react-query-4/src/useSuspenseInfiniteQuery.ts
@@ -23,7 +23,7 @@ export type UseSuspenseInfiniteQueryOptions<
TQueryKey extends QueryKey = QueryKey,
> = OmitKeyof<
UseInfiniteQueryOptions,
- 'suspense' | 'useErrorBoundary' | 'enabled' | 'placeholderData'
+ 'suspense' | 'useErrorBoundary' | 'enabled' | 'placeholderData' | 'networkMode'
>
/**
@@ -43,5 +43,6 @@ export function useSuspenseInfiniteQuery<
enabled: true,
suspense: true,
useErrorBoundary: true,
+ networkMode: 'always',
}) as UseSuspenseInfiniteQueryResult
}
diff --git a/packages/react-query-4/src/useSuspenseQueries.test-d.ts b/packages/react-query-4/src/useSuspenseQueries.test-d.ts
index b66f87fcd..60dd349f0 100644
--- a/packages/react-query-4/src/useSuspenseQueries.test-d.ts
+++ b/packages/react-query-4/src/useSuspenseQueries.test-d.ts
@@ -34,6 +34,13 @@ describe('useSuspenseQueries', () => {
enabled: true,
select,
},
+ {
+ queryKey: [...queryKey, 4] as const,
+ queryFn,
+ // @ts-expect-error no networkMode
+ networkMode: 'always',
+ select,
+ },
queryOptions({
queryKey: [...queryKey, 4] as const,
queryFn: () => Promise.resolve({ field: 'success' }),
diff --git a/packages/react-query-4/src/useSuspenseQuery.test-d.ts b/packages/react-query-4/src/useSuspenseQuery.test-d.ts
index 4647933cc..9cd4c48c2 100644
--- a/packages/react-query-4/src/useSuspenseQuery.test-d.ts
+++ b/packages/react-query-4/src/useSuspenseQuery.test-d.ts
@@ -37,6 +37,12 @@ describe('useSuspenseQuery', () => {
queryFn,
//@ts-expect-error no isPlaceholderData
}).isPlaceholderData
+ useSuspenseQuery({
+ queryKey,
+ queryFn,
+ //@ts-expect-error no networkMode
+ networkMode: 'always',
+ })
const result = useSuspenseQuery({ queryKey, queryFn })
expectTypeOf(result).toEqualTypeOf>()
diff --git a/packages/react-query-4/src/useSuspenseQuery.ts b/packages/react-query-4/src/useSuspenseQuery.ts
index cc2d8f6e8..bb43a3279 100644
--- a/packages/react-query-4/src/useSuspenseQuery.ts
+++ b/packages/react-query-4/src/useSuspenseQuery.ts
@@ -14,7 +14,7 @@ export type UseSuspenseQueryOptions<
TQueryKey extends QueryKey = QueryKey,
> = OmitKeyof<
UseQueryOptions,
- 'suspense' | 'useErrorBoundary' | 'enabled' | 'placeholderData'
+ 'suspense' | 'useErrorBoundary' | 'enabled' | 'placeholderData' | 'networkMode'
>
/**
@@ -32,5 +32,6 @@ export function useSuspenseQuery<
enabled: true,
useErrorBoundary: true,
suspense: true,
+ networkMode: 'always',
}) as UseSuspenseQueryResult
}