From: Tidyzq Date: Wed, 16 Oct 2019 05:58:11 +0000 (+0800) Subject: refactor(reactivity): immediate return (#301) X-Git-Tag: v3.0.0-alpha.0~407 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a72652f6e66151b23abece080abc2dea56d19132;p=thirdparty%2Fvuejs%2Fcore.git refactor(reactivity): immediate return (#301) --- diff --git a/packages/reactivity/src/effect.ts b/packages/reactivity/src/effect.ts index 3350bc1a63..fac7180d15 100644 --- a/packages/reactivity/src/effect.ts +++ b/packages/reactivity/src/effect.ts @@ -128,29 +128,30 @@ export function track( return } const effect = activeReactiveEffectStack[activeReactiveEffectStack.length - 1] - if (effect) { - if (type === OperationTypes.ITERATE) { - key = ITERATE_KEY - } - let depsMap = targetMap.get(target) - if (depsMap === void 0) { - targetMap.set(target, (depsMap = new Map())) - } - let dep = depsMap.get(key!) - if (dep === void 0) { - depsMap.set(key!, (dep = new Set())) - } - if (!dep.has(effect)) { - dep.add(effect) - effect.deps.push(dep) - if (__DEV__ && effect.onTrack) { - effect.onTrack({ - effect, - target, - type, - key - }) - } + if (!effect) { + return + } + if (type === OperationTypes.ITERATE) { + key = ITERATE_KEY + } + let depsMap = targetMap.get(target) + if (depsMap === void 0) { + targetMap.set(target, (depsMap = new Map())) + } + let dep = depsMap.get(key!) + if (dep === void 0) { + depsMap.set(key!, (dep = new Set())) + } + if (!dep.has(effect)) { + dep.add(effect) + effect.deps.push(dep) + if (__DEV__ && effect.onTrack) { + effect.onTrack({ + effect, + target, + type, + key + }) } } }