]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor(reactivity): reuse computed getter check (#4623)
authorzhangenming <282126346@qq.com>
Tue, 21 Sep 2021 17:03:09 +0000 (01:03 +0800)
committerGitHub <noreply@github.com>
Tue, 21 Sep 2021 17:03:09 +0000 (13:03 -0400)
packages/reactivity/src/computed.ts

index b3292588435bccd8bc618e329120e8da2c96628d..11af231b4cdbc112fcfbd4830d72affeb5710a1d 100644 (file)
@@ -78,7 +78,8 @@ export function computed<T>(
   let getter: ComputedGetter<T>
   let setter: ComputedSetter<T>
 
-  if (isFunction(getterOrOptions)) {
+  const onlyGetter = isFunction(getterOrOptions)
+  if (onlyGetter) {
     getter = getterOrOptions
     setter = __DEV__
       ? () => {
@@ -90,11 +91,7 @@ export function computed<T>(
     setter = getterOrOptions.set
   }
 
-  const cRef = new ComputedRefImpl(
-    getter,
-    setter,
-    isFunction(getterOrOptions) || !getterOrOptions.set
-  )
+  const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter)
 
   if (__DEV__ && debugOptions) {
     cRef.effect.onTrack = debugOptions.onTrack