Skip to content

Commit c521f95

Browse files
authored
fix(runtime-core): ensure suspense creates dep component's render effect with correct optimized flag (#7689)
close #7688
1 parent c73847f commit c521f95

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

Diff for: packages/runtime-core/src/components/Suspense.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,7 @@ export interface SuspenseBoundary {
438438
registerDep(
439439
instance: ComponentInternalInstance,
440440
setupRenderEffect: SetupRenderEffectFn,
441+
optimized: boolean,
441442
): void
442443
unmount(parentSuspense: SuspenseBoundary | null, doRemove?: boolean): void
443444
}
@@ -679,7 +680,7 @@ function createSuspenseBoundary(
679680
return suspense.activeBranch && next(suspense.activeBranch)
680681
},
681682

682-
registerDep(instance, setupRenderEffect) {
683+
registerDep(instance, setupRenderEffect, optimized) {
683684
const isInPendingSuspense = !!suspense.pendingBranch
684685
if (isInPendingSuspense) {
685686
suspense.deps++

Diff for: packages/runtime-core/src/renderer.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1238,7 +1238,8 @@ function baseCreateRenderer(
12381238
// setup() is async. This component relies on async logic to be resolved
12391239
// before proceeding
12401240
if (__FEATURE_SUSPENSE__ && instance.asyncDep) {
1241-
parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect)
1241+
parentSuspense &&
1242+
parentSuspense.registerDep(instance, setupRenderEffect, optimized)
12421243

12431244
// Give it a placeholder if this is not hydration
12441245
// TODO handle self-defined fallback

0 commit comments

Comments
 (0)