From 3fc644e22a54dcef720e4ee50b383c856b4ba36d Mon Sep 17 00:00:00 2001 From: daiwei Date: Mon, 29 Sep 2025 12:01:43 +0800 Subject: [PATCH] perf: optimize hydration node management in createFor --- packages/runtime-vapor/src/apiCreateFor.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/runtime-vapor/src/apiCreateFor.ts b/packages/runtime-vapor/src/apiCreateFor.ts index 52a23e9fa..51b563d97 100644 --- a/packages/runtime-vapor/src/apiCreateFor.ts +++ b/packages/runtime-vapor/src/apiCreateFor.ts @@ -131,20 +131,17 @@ export const createFor = ( if (!isMounted) { isMounted = true + let prevNodes: Block for (let i = 0; i < newLength; i++) { if (isHydrating && isComponent && i > 0) { - setCurrentHydrationNode( - findLastChild(newBlocks[i - 1].nodes)!.nextSibling, - ) + setCurrentHydrationNode(findLastChild(prevNodes!)!.nextSibling) } - mount(source, i) + prevNodes = mount(source, i).nodes } if (isHydrating) { if (isComponent) { - setCurrentHydrationNode( - findLastChild(newBlocks[newLength - 1].nodes)!.nextSibling, - ) + setCurrentHydrationNode(findLastChild(prevNodes!)!.nextSibling) } parentAnchor = newLength === 0