Skip to content

Commit 3867bb4

Browse files
authored
fix(runtime-core): component mount anchor memory leak (#2459)
fix #2458
1 parent 82bf7eb commit 3867bb4

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

packages/runtime-core/src/renderer.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1395,8 +1395,9 @@ function baseCreateRenderer(
13951395
}
13961396
// onVnodeMounted
13971397
if ((vnodeHook = props && props.onVnodeMounted)) {
1398+
const scopedInitialVNode = initialVNode
13981399
queuePostRenderEffect(() => {
1399-
invokeVNodeHook(vnodeHook!, parent, initialVNode)
1400+
invokeVNodeHook(vnodeHook!, parent, scopedInitialVNode)
14001401
}, parentSuspense)
14011402
}
14021403
// activated hook for keep-alive roots.
@@ -1410,6 +1411,9 @@ function baseCreateRenderer(
14101411
queuePostRenderEffect(a, parentSuspense)
14111412
}
14121413
instance.isMounted = true
1414+
1415+
// #2458: deference mount-only object parameters to prevent memleaks
1416+
initialVNode = container = anchor = null as any
14131417
} else {
14141418
// updateComponent
14151419
// This is triggered by mutation of component's own state (next: null)

0 commit comments

Comments
 (0)