Kaynağa Gözat

refactor: remove unnecessary conditions and test case

Evan You 5 yıl önce
ebeveyn
işleme
730e39eb76

+ 1 - 12
packages/reactivity/__tests__/effect.spec.ts

@@ -6,8 +6,7 @@ import {
   TrackOpTypes,
   TriggerOpTypes,
   DebuggerEvent,
-  markRaw,
-  ref
+  markRaw
 } from '../src/index'
 import { ITERATE_KEY } from '../src/effect'
 
@@ -782,14 +781,4 @@ describe('reactivity/effect', () => {
     expect(dummy).toBe(0)
     expect(record).toBeUndefined()
   })
-
-  it('should handle self dependency mutations', () => {
-    const count = ref(0)
-    effect(() => {
-      count.value++
-    })
-    expect(count.value).toBe(1)
-    count.value = 10
-    expect(count.value).toBe(11)
-  })
 })

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

@@ -178,15 +178,7 @@ export function trigger(
   const effects = new Set<ReactiveEffect>()
   const add = (effectsToAdd: Set<ReactiveEffect> | undefined) => {
     if (effectsToAdd) {
-      effectsToAdd.forEach(effect => {
-        if (effect !== activeEffect || !shouldTrack) {
-          effects.add(effect)
-        } else {
-          // the effect mutated its own dependency during its execution.
-          // this can be caused by operations like foo.value++
-          // do not trigger or we end in an infinite loop
-        }
-      })
+      effectsToAdd.forEach(effect => effects.add(effect))
     }
   }