File tree 1 file changed +8
-3
lines changed
1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -308,14 +308,19 @@ export function triggerEffects(
308
308
) {
309
309
pauseScheduling ( )
310
310
for ( const effect of dep . keys ( ) ) {
311
+ // dep.get(effect) is very expensive, we need to calculate it lazily and reuse the result
312
+ let tracking : boolean | undefined
313
+
311
314
if ( ! dep . computed && effect . computed ) {
312
- if ( dep . get ( effect ) === effect . _trackId && effect . _runnings > 0 ) {
315
+ if (
316
+ effect . _runnings > 0 &&
317
+ ( tracking ??= dep . get ( effect ) === effect . _trackId )
318
+ ) {
313
319
effect . _dirtyLevel = DirtyLevels . MaybeDirty_ComputedSideEffect_Origin
314
320
continue
315
321
}
316
322
}
317
- // dep.get(effect) is very expensive, we need to calculate it lazily and reuse the result
318
- let tracking : boolean | undefined
323
+
319
324
if (
320
325
effect . _dirtyLevel < dirtyLevel &&
321
326
( tracking ??= dep . get ( effect ) === effect . _trackId )
You can’t perform that action at this time.
0 commit comments