From: edison Date: Thu, 26 Jun 2025 07:34:47 +0000 (+0800) Subject: fix(runtime-vapor): ensure props are shallow reactive in VDOM component (#13502) X-Git-Tag: v3.6.0-alpha.1~16^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=280829bf73d58d6b17218b3df9b5e38ee8b7f720;p=thirdparty%2Fvuejs%2Fcore.git fix(runtime-vapor): ensure props are shallow reactive in VDOM component (#13502) --- diff --git a/packages/runtime-vapor/src/vdomInterop.ts b/packages/runtime-vapor/src/vdomInterop.ts index b916a2c8eb..e277024d73 100644 --- a/packages/runtime-vapor/src/vdomInterop.ts +++ b/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) {