diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index 90abf4149f0..28d7de2a5e7 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -153,7 +153,12 @@ export function updateProps( const rawCurrentProps = toRaw(props) const [options] = normalizePropsOptions(instance.type) - if ((optimized || patchFlag > 0) && !(patchFlag & PatchFlags.FULL_PROPS)) { + if ( + // always force full diff if hmr is enabled + !(__DEV__ && instance.type.__hmrId) && + (optimized || patchFlag > 0) && + !(patchFlag & PatchFlags.FULL_PROPS) + ) { if (patchFlag & PatchFlags.PROPS) { // Compiler-generated props & no keys change, just set the updated // the props. diff --git a/packages/runtime-core/src/renderer.ts b/packages/runtime-core/src/renderer.ts index f35435a1c69..930464ebc61 100644 --- a/packages/runtime-core/src/renderer.ts +++ b/packages/runtime-core/src/renderer.ts @@ -1451,9 +1451,6 @@ function baseCreateRenderer( nextVNode: VNode, optimized: boolean ) => { - if (__DEV__ && instance.type.__hmrId) { - optimized = false - } nextVNode.component = instance const prevProps = instance.vnode.props instance.vnode = nextVNode