Jelajahi Sumber

fix(reactivity): effect should still check sync self-trigger

Evan You 5 tahun lalu
induk
melakukan
ac81dcf
1 mengubah file dengan 5 tambahan dan 1 penghapusan
  1. 5 1
      packages/reactivity/src/effect.ts

+ 5 - 1
packages/reactivity/src/effect.ts

@@ -178,7 +178,11 @@ export function trigger(
   const effects = new Set<ReactiveEffect>()
   const add = (effectsToAdd: Set<ReactiveEffect> | undefined) => {
     if (effectsToAdd) {
-      effectsToAdd.forEach(effect => effects.add(effect))
+      effectsToAdd.forEach(effect => {
+        if (effect !== activeEffect) {
+          effects.add(effect)
+        }
+      })
     }
   }