]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor(reactivity): immediate return (#301)
authorTidyzq <tidyzq@tidyzq.com>
Wed, 16 Oct 2019 05:58:11 +0000 (13:58 +0800)
committerEvan You <yyx990803@gmail.com>
Wed, 16 Oct 2019 05:58:11 +0000 (01:58 -0400)
packages/reactivity/src/effect.ts

index 3350bc1a6371bfdc4bcd47c06b081e5efc91ed32..fac7180d158b0960df6690f92f95b88de123d46c 100644 (file)
@@ -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
+      })
     }
   }
 }