55 reactive ,
66 readonly ,
77 watch ,
8- unref ,
98 Ref ,
109 isRef ,
1110 isReactive ,
@@ -15,6 +14,7 @@ import type { QueryFunction, QueryObserverResult } from "@tanstack/query-core";
1514
1615import { useQueryClient } from "./useQueryClient" ;
1716import { UseQueryOptions } from "./useQuery" ;
17+ import { cloneDeepUnref } from "./utils" ;
1818
1919// Avoid TS depth-limit error in case of large array literal
2020type MAXIMUM_DEPTH = 20 ;
@@ -137,28 +137,28 @@ export function useQueries<T extends any[]>({
137137} : {
138138 queries : Ref < UseQueriesOptionsArg < T > > | UseQueriesOptionsArg < T > ;
139139} ) : Readonly < UseQueriesResults < T > > {
140- const queryClientKey = ( unref ( queries ) as UseQueriesOptionsArg < T > ) [ 0 ]
141- ?. queryClientKey ;
140+ const unreffedQueries = cloneDeepUnref ( queries ) as UseQueriesOptionsArg < T > ;
141+
142+ const queryClientKey = unreffedQueries [ 0 ] ?. queryClientKey ;
142143 const queryClient = useQueryClient ( queryClientKey ) ;
143- const defaultedQueries = ( unref ( queries ) as UseQueriesOptionsArg < T > ) . map (
144- ( options ) => {
145- return queryClient . defaultQueryOptions ( options ) ;
146- }
147- ) ;
144+ const defaultedQueries = unreffedQueries . map ( ( options ) => {
145+ return queryClient . defaultQueryOptions ( options ) ;
146+ } ) ;
148147
149148 const observer = new QueriesObserver ( queryClient , defaultedQueries ) ;
150149 const state = reactive ( observer . getCurrentResult ( ) ) ;
150+
151151 const unsubscribe = observer . subscribe ( ( result ) => {
152152 state . splice ( 0 , state . length , ...result ) ;
153153 } ) ;
154154
155155 if ( isRef ( queries ) || isReactive ( queries ) ) {
156156 watch ( queries , ( ) => {
157- const defaulted = ( unref ( queries ) as UseQueriesOptionsArg < T > ) . map (
158- ( options ) => {
159- return queryClient . defaultQueryOptions ( options ) ;
160- }
161- ) ;
157+ const defaulted = (
158+ cloneDeepUnref ( queries ) as UseQueriesOptionsArg < T >
159+ ) . map ( ( options ) => {
160+ return queryClient . defaultQueryOptions ( options ) ;
161+ } ) ;
162162 observer . setQueries ( defaulted ) ;
163163 } ) ;
164164 }
0 commit comments