diff --git a/packages/reactivity/__tests__/effect.spec.ts b/packages/reactivity/__tests__/effect.spec.ts index 7285bb53..87b85292 100644 --- a/packages/reactivity/__tests__/effect.spec.ts +++ b/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) - }) }) diff --git a/packages/reactivity/src/effect.ts b/packages/reactivity/src/effect.ts index eb06a63a..95576166 100644 --- a/packages/reactivity/src/effect.ts +++ b/packages/reactivity/src/effect.ts @@ -178,15 +178,7 @@ export function trigger( const effects = new Set() const add = (effectsToAdd: Set | 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)) } }