diff --git a/packages/reactivity/src/effect.ts b/packages/reactivity/src/effect.ts index d4a34edfef4..90ce2d265da 100644 --- a/packages/reactivity/src/effect.ts +++ b/packages/reactivity/src/effect.ts @@ -367,26 +367,20 @@ export function trigger( ? { target, type, key, newValue, oldValue, oldTarget } : undefined - if (deps.length === 1) { - if (deps[0]) { - if (__DEV__) { - triggerEffects(deps[0], eventInfo) - } else { - triggerEffects(deps[0]) - } + const effects: ReactiveEffect[] = [] + for (const dep of deps) { + if (dep) { + effects.push(...dep) } + } + if (effects.length === 0) return false + if (__DEV__) { + triggerEffects( + effects.length === 1 ? effects : createDep(effects), + eventInfo + ) } else { - const effects: ReactiveEffect[] = [] - for (const dep of deps) { - if (dep) { - effects.push(...dep) - } - } - if (__DEV__) { - triggerEffects(createDep(effects), eventInfo) - } else { - triggerEffects(createDep(effects)) - } + triggerEffects(effects.length === 1 ? effects : createDep(effects)) } }