瀏覽代碼

fix(runtime-vapor): ensure props are shallow reactive in VDOM component (#13502)

edison 1 年之前
父節點
當前提交
280829bf73
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      packages/runtime-vapor/src/vdomInterop.ts

+ 3 - 1
packages/runtime-vapor/src/vdomInterop.ts

@@ -16,6 +16,7 @@ import {
   isEmitListener,
   onScopeDispose,
   renderSlot,
+  shallowReactive,
   shallowRef,
   simpleSetCurrentInstance,
 } from '@vue/runtime-dom'
@@ -163,7 +164,8 @@ function createVDOMComponent(
 
   // overwrite how the vdom instance handles props
   vnode.vi = (instance: ComponentInternalInstance) => {
-    instance.props = wrapper.props
+    // ensure props are shallow reactive to align with VDOM behavior.
+    instance.props = shallowReactive(wrapper.props)
 
     const attrs = (instance.attrs = createInternalObject())
     for (const key in wrapper.attrs) {