From: daiwei Date: Fri, 1 Aug 2025 09:24:03 +0000 (+0800) Subject: fix: advance hydration node in vdom interop X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=268383f760c5d82e7470a60ff0f246004a590fe9;p=thirdparty%2Fvuejs%2Fcore.git fix: advance hydration node in vdom interop --- diff --git a/packages/runtime-vapor/src/vdomInterop.ts b/packages/runtime-vapor/src/vdomInterop.ts index ff1da72f2..d16c73127 100644 --- a/packages/runtime-vapor/src/vdomInterop.ts +++ b/packages/runtime-vapor/src/vdomInterop.ts @@ -52,11 +52,11 @@ import { __next, createTextNode } from './dom/node' import { optimizePropertyLookup } from './dom/prop' import { setTransitionHooks as setVaporTransitionHooks } from './components/Transition' import { + advanceHydrationNode, currentHydrationNode, isHydrating, locateHydrationNode, locateVaporFragmentAnchor, - setCurrentHydrationNode, hydrateNode as vaporHydrateNode, } from './dom/hydration' import { VaporFragment, isFragment, setFragmentFallback } from './fragment' @@ -374,12 +374,11 @@ function renderVDOMSlot( ) } else if (isHydrating) { // update hydration node to the next sibling of the slot anchor - locateHydrationNode() const nextNode = locateVaporFragmentAnchor( currentHydrationNode!, 'slot', ) - if (nextNode) setCurrentHydrationNode(__next(nextNode)) + if (nextNode) advanceHydrationNode(nextNode) } oldVNode = null } @@ -473,5 +472,5 @@ function hydrateVNode( null, false, ) - setCurrentHydrationNode(nextNode) + if (nextNode) advanceHydrationNode(nextNode) }