Parcourir la source

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

Evan You il y a 5 ans
Parent
commit
ac81dcf
1 fichiers modifiés avec 5 ajouts et 1 suppressions
  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)
+        }
+      })
     }
   }