From 3e96329da0dc1a3d1a2984c5d691e19c6f814225 Mon Sep 17 00:00:00 2001 From: daiwei Date: Tue, 15 Oct 2019 14:51:52 +0800 Subject: [PATCH 1/2] refactor(reactivity): define hadKey if necessary --- packages/reactivity/src/baseHandlers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/reactivity/src/baseHandlers.ts b/packages/reactivity/src/baseHandlers.ts index 005cb3ddb83..4ec14c5da78 100644 --- a/packages/reactivity/src/baseHandlers.ts +++ b/packages/reactivity/src/baseHandlers.ts @@ -38,7 +38,6 @@ function set( receiver: any ): boolean { value = toRaw(value) - const hadKey = hasOwn(target, key) const oldValue = target[key] if (isRef(oldValue) && !isRef(value)) { oldValue.value = value @@ -47,6 +46,7 @@ function set( const result = Reflect.set(target, key, value, receiver) // don't trigger if target is something up in the prototype chain of original if (target === toRaw(receiver)) { + const hadKey = hasOwn(target, key) /* istanbul ignore else */ if (__DEV__) { const extraInfo = { oldValue, newValue: value } From c277dcef32fb93adb08eaed33b1a3934481ed2af Mon Sep 17 00:00:00 2001 From: daiwei Date: Tue, 15 Oct 2019 15:12:28 +0800 Subject: [PATCH 2/2] refactor(reactivity): define hadKey if necessary --- packages/reactivity/src/baseHandlers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/reactivity/src/baseHandlers.ts b/packages/reactivity/src/baseHandlers.ts index 4ec14c5da78..0043af73fe5 100644 --- a/packages/reactivity/src/baseHandlers.ts +++ b/packages/reactivity/src/baseHandlers.ts @@ -43,10 +43,10 @@ function set( oldValue.value = value return true } + const hadKey = hasOwn(target, key) const result = Reflect.set(target, key, value, receiver) // don't trigger if target is something up in the prototype chain of original if (target === toRaw(receiver)) { - const hadKey = hasOwn(target, key) /* istanbul ignore else */ if (__DEV__) { const extraInfo = { oldValue, newValue: value }