diff --git a/packages/runtime-core/src/createRenderer.ts b/packages/runtime-core/src/createRenderer.ts index 2c836071b..595b187ca 100644 --- a/packages/runtime-core/src/createRenderer.ts +++ b/packages/runtime-core/src/createRenderer.ts @@ -503,7 +503,11 @@ export function createRenderer< patch( oldVNode, dynamicChildren[i], - hostParentNode(oldVNode.el!)!, + // in the case of a Fragment, we need to provide the actual parent + // of the Fragment itself so it can move its children. In other cases, + // the parent container is not actually used so we just pass the + // block element here to avoid a DOM parentNode call. + oldVNode.type === Fragment ? hostParentNode(oldVNode.el!)! : el, null, parentComponent, parentSuspense,