File tree 1 file changed +8
-2
lines changed
1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -44,6 +44,7 @@ export class QueriesObserver<
44
44
#lastCombine?: CombineFn < TCombinedResult >
45
45
#lastResult?: Array < QueryObserverResult >
46
46
#observerMatches: Array < QueryObserverMatch > = [ ]
47
+ #observerMap: Map < QueryObserver , number > = new Map ( )
47
48
48
49
constructor (
49
50
client : QueryClient ,
@@ -130,6 +131,11 @@ export class QueriesObserver<
130
131
this . #observers = newObservers
131
132
this . #result = newResult
132
133
134
+ this . #observerMap. clear ( )
135
+ newObservers . forEach ( ( observer , index ) => {
136
+ this . #observerMap. set ( observer , index )
137
+ } )
138
+
133
139
if ( ! this . hasListeners ( ) ) {
134
140
return
135
141
}
@@ -253,8 +259,8 @@ export class QueriesObserver<
253
259
}
254
260
255
261
#onUpdate( observer : QueryObserver , result : QueryObserverResult ) : void {
256
- const index = this . #observers . indexOf ( observer )
257
- if ( index !== - 1 ) {
262
+ const index = this . #observerMap . get ( observer )
263
+ if ( index !== undefined ) {
258
264
this . #result = replaceAt ( this . #result, index , result )
259
265
this . #notify( )
260
266
}
You can’t perform that action at this time.
0 commit comments