]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(reactivity): make toRaw work on proxies created by proxyRef
authorEvan You <evan@vuejs.org>
Thu, 5 Sep 2024 09:23:31 +0000 (17:23 +0800)
committerEvan You <evan@vuejs.org>
Thu, 5 Sep 2024 09:47:03 +0000 (17:47 +0800)
packages/reactivity/src/ref.ts

index c3104c055f65e5c80b3c71a14f6255186b48e56b..a72e52090dde453e6c430ee011d550d7410d01a1 100644 (file)
@@ -243,7 +243,10 @@ export function toValue<T>(source: MaybeRefOrGetter<T>): T {
 }
 
 const shallowUnwrapHandlers: ProxyHandler<any> = {
-  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)) {