From a02820d7e046d32f635f04104472fc9f823e9d49 Mon Sep 17 00:00:00 2001 From: Junyan Date: Tue, 5 Nov 2019 23:44:28 +0800 Subject: [PATCH] feat: warn when toRefs() receives non-reactive object (#430) --- packages/reactivity/src/ref.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index 472e951cb..284bf6c1a 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)