From: Evan You Date: Thu, 5 Sep 2024 09:23:31 +0000 (+0800) Subject: fix(reactivity): make toRaw work on proxies created by proxyRef X-Git-Tag: v3.5.2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=46c3ab1d714024894fa1d33e495d5d35c7817d4d;p=thirdparty%2Fvuejs%2Fcore.git fix(reactivity): make toRaw work on proxies created by proxyRef --- diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index c3104c055f..a72e52090d 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -243,7 +243,10 @@ export function toValue(source: MaybeRefOrGetter): T { } const shallowUnwrapHandlers: ProxyHandler = { - get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), + get: (target, key, receiver) => + key === ReactiveFlags.RAW + ? target + : unref(Reflect.get(target, key, receiver)), set: (target, key, value, receiver) => { const oldValue = target[key] if (isRef(oldValue) && !isRef(value)) {