From d36ca4d80e297056f6c78cd7e3bc2004e0b58660 Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 13 May 2022 07:29:28 +0800 Subject: [PATCH] fix(runtime-core): clone root vnode before inheriting directives --- packages/runtime-core/src/componentRenderUtils.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/runtime-core/src/componentRenderUtils.ts b/packages/runtime-core/src/componentRenderUtils.ts index ce03b4f6af0..8e338c31d6c 100644 --- a/packages/runtime-core/src/componentRenderUtils.ts +++ b/packages/runtime-core/src/componentRenderUtils.ts @@ -215,6 +215,8 @@ export function renderComponentRoot( `The directives will not function as intended.` ) } + // clone before mutating since the root may be a hoisted vnode + root = cloneVNode(root) root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs } // inherit transition data