diff --git a/packages/reactivity/src/computed.ts b/packages/reactivity/src/computed.ts index b32925884..11af231b4 100644 --- a/packages/reactivity/src/computed.ts +++ b/packages/reactivity/src/computed.ts @@ -78,7 +78,8 @@ export function computed( let getter: ComputedGetter let setter: ComputedSetter - if (isFunction(getterOrOptions)) { + const onlyGetter = isFunction(getterOrOptions) + if (onlyGetter) { getter = getterOrOptions setter = __DEV__ ? () => { @@ -90,11 +91,7 @@ export function computed( 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