Skip to content

Commit c6906b3

Browse files
authored
fix(useQueries): add useMemo to useQueries to keep result stable (TanStack#2992)
1 parent f18881d commit c6906b3

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

src/react/useQueries.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react'
1+
import React, { useMemo } from 'react'
22
import { QueryFunction } from '../core/types'
33

44
import { notifyManager } from '../core/notifyManager'
@@ -118,14 +118,20 @@ export function useQueries<T extends any[]>(
118118

119119
const queryClient = useQueryClient()
120120

121-
const defaultedQueries = queries.map(options => {
122-
const defaultedOptions = queryClient.defaultQueryObserverOptions(options)
121+
const defaultedQueries = useMemo(
122+
() =>
123+
queries.map(options => {
124+
const defaultedOptions = queryClient.defaultQueryObserverOptions(
125+
options
126+
)
123127

124-
// Make sure the results are already in fetching state before subscribing or updating options
125-
defaultedOptions.optimisticResults = true
128+
// Make sure the results are already in fetching state before subscribing or updating options
129+
defaultedOptions.optimisticResults = true
126130

127-
return defaultedOptions
128-
})
131+
return defaultedOptions
132+
}),
133+
[queries, queryClient]
134+
)
129135

130136
const [observer] = React.useState(
131137
() => new QueriesObserver(queryClient, defaultedQueries)

0 commit comments

Comments
 (0)