refactor(reactivity): use NOOP for readonly computed setter in production
This commit is contained in:
parent
530be302fc
commit
8f1475b8dd
@ -1,6 +1,6 @@
|
|||||||
import { effect, ReactiveEffect, activeReactiveEffectStack } from './effect'
|
import { effect, ReactiveEffect, activeReactiveEffectStack } from './effect'
|
||||||
import { Ref, refSymbol, UnwrapNestedRefs } from './ref'
|
import { Ref, refSymbol, UnwrapNestedRefs } from './ref'
|
||||||
import { isFunction } from '@vue/shared'
|
import { isFunction, NOOP } from '@vue/shared'
|
||||||
|
|
||||||
export interface ComputedRef<T> extends Ref<T> {
|
export interface ComputedRef<T> extends Ref<T> {
|
||||||
readonly value: UnwrapNestedRefs<T>
|
readonly value: UnwrapNestedRefs<T>
|
||||||
@ -28,11 +28,11 @@ export function computed<T>(
|
|||||||
? (getterOrOptions as (() => T))
|
? (getterOrOptions as (() => T))
|
||||||
: (getterOrOptions as WritableComputedOptions<T>).get
|
: (getterOrOptions as WritableComputedOptions<T>).get
|
||||||
const setter = isReadonly
|
const setter = isReadonly
|
||||||
|
? __DEV__
|
||||||
? () => {
|
? () => {
|
||||||
if (__DEV__) {
|
|
||||||
console.warn('Write operation failed: computed value is readonly')
|
console.warn('Write operation failed: computed value is readonly')
|
||||||
}
|
}
|
||||||
}
|
: NOOP
|
||||||
: (getterOrOptions as WritableComputedOptions<T>).set
|
: (getterOrOptions as WritableComputedOptions<T>).set
|
||||||
|
|
||||||
let dirty = true
|
let dirty = true
|
||||||
|
Loading…
Reference in New Issue
Block a user