@@ -20,6 +20,7 @@ import {
2020 type RendererInternals ,
2121 type RendererNode ,
2222 type SetupRenderEffectFn ,
23+ queuePostRenderEffect ,
2324} from '../renderer'
2425import { queuePostFlushCb } from '../scheduler'
2526import { filterSingleRoot , updateHOCHostEl } from '../componentRenderUtils'
@@ -553,9 +554,11 @@ function createSuspenseBoundary(
553554 )
554555 queuePostFlushCb ( effects )
555556 // clear el reference from fallback vnode to allow GC after transition
556- if ( isInFallback && vnode . ssFallback ) {
557- vnode . ssFallback . el = null
558- }
557+ queuePostRenderEffect ( ( ) => {
558+ if ( isInFallback && vnode . ssFallback ) {
559+ vnode . ssFallback . el = null
560+ }
561+ } , suspense )
559562 }
560563 }
561564 }
@@ -577,9 +580,11 @@ function createSuspenseBoundary(
577580 unmount ( activeBranch , parentComponent , suspense , true )
578581 // clear el reference from fallback vnode to allow GC
579582 // only clear immediately if there's no delayed transition
580- if ( ! delayEnter && isInFallback && vnode . ssFallback ) {
581- vnode . ssFallback . el = null
582- }
583+ queuePostRenderEffect ( ( ) => {
584+ if ( ! delayEnter && isInFallback && vnode . ssFallback ) {
585+ vnode . ssFallback . el = null
586+ }
587+ } , suspense )
583588 }
584589 if ( ! delayEnter ) {
585590 // move content from off-dom container to actual container
0 commit comments