From: Junyan Date: Tue, 5 Nov 2019 15:44:28 +0000 (+0800) Subject: feat: warn when toRefs() receives non-reactive object (#430) X-Git-Tag: v3.0.0-alpha.0~239 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a02820d7e046d32f635f04104472fc9f823e9d49;p=thirdparty%2Fvuejs%2Fcore.git feat: warn when toRefs() receives non-reactive object (#430) --- diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index 472e951cb0..284bf6c1aa 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -1,7 +1,7 @@ import { track, trigger } from './effect' import { OperationTypes } from './operations' import { isObject } from '@vue/shared' -import { reactive } from './reactive' +import { reactive, isReactive } from './reactive' import { ComputedRef } from './computed' import { CollectionTypes } from './collectionHandlers' @@ -47,6 +47,9 @@ export function isRef(r: any): r is Ref { export function toRefs( object: T ): { [K in keyof T]: Ref } { + if (__DEV__ && !isReactive(object)) { + console.warn(`toRefs() expects a reactive object but received a plain one.`) + } const ret: any = {} for (const key in object) { ret[key] = toProxyRef(object, key)