]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor(reactive): remove unnecessary args handling in reactiveEffect (#1593)
authorZardddddd60 <ldd_60@163.com>
Thu, 16 Jul 2020 03:19:15 +0000 (11:19 +0800)
committerGitHub <noreply@github.com>
Thu, 16 Jul 2020 03:19:15 +0000 (23:19 -0400)
packages/reactivity/src/effect.ts

index 03f8e5105ee1cb7945ce65637898d6bba20008ec..eb06a63a59d898dc9c20a4c74eebe97de9dd666c 100644 (file)
@@ -10,7 +10,7 @@ type KeyToDepMap = Map<any, Dep>
 const targetMap = new WeakMap<any, KeyToDepMap>()
 
 export interface ReactiveEffect<T = any> {
-  (...args: any[]): T
+  (): T
   _isEffect: true
   id: number
   active: boolean
@@ -77,12 +77,12 @@ export function stop(effect: ReactiveEffect) {
 let uid = 0
 
 function createReactiveEffect<T = any>(
-  fn: (...args: any[]) => T,
+  fn: () => T,
   options: ReactiveEffectOptions
 ): ReactiveEffect<T> {
-  const effect = function reactiveEffect(...args: unknown[]): unknown {
+  const effect = function reactiveEffect(): unknown {
     if (!effect.active) {
-      return options.scheduler ? undefined : fn(...args)
+      return options.scheduler ? undefined : fn()
     }
     if (!effectStack.includes(effect)) {
       cleanup(effect)
@@ -90,7 +90,7 @@ function createReactiveEffect<T = any>(
         enableTracking()
         effectStack.push(effect)
         activeEffect = effect
-        return fn(...args)
+        return fn()
       } finally {
         effectStack.pop()
         resetTracking()