From 98ed9d75f362327134c69fd49afec791c5f6e2be Mon Sep 17 00:00:00 2001 From: dupfei <1419006060@qq.com> Date: Thu, 21 Jul 2022 21:22:04 +0800 Subject: [PATCH] fix(reactivity): when setting a property the shallowReactive object should not unwrap refs and the reactive object should retain readonly proxy --- src/core/observer/index.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/observer/index.ts b/src/core/observer/index.ts index 84744dd85f9..05cf69a27d8 100644 --- a/src/core/observer/index.ts +++ b/src/core/observer/index.ts @@ -191,7 +191,12 @@ export function defineReactive( } else if (getter) { // #7981: for accessor properties without setter return - } else if (isRef(value) && !isRef(newVal)) { + } else if ( + !shallow && + !isReadonly(newVal) && + isRef(value) && + !isRef(newVal) + ) { value.value = newVal return } else {