Skip to content

Commit 624cf77

Browse files
committed
suspense boundary deleted
1 parent cf99f8b commit 624cf77

File tree

4 files changed

+440
-12
lines changed

4 files changed

+440
-12
lines changed

packages/react-reconciler/src/ReactFiberCommitWork.new.js

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2081,12 +2081,21 @@ function commitDeletionEffectsOnFiber(
20812081
if (enableTransitionTracing) {
20822082
// We need to mark this fiber's parents as deleted
20832083
const instance: OffscreenInstance = deletedFiber.stateNode;
2084-
const markers = instance.pendingMarkers;
2085-
if (markers !== null) {
2086-
markers.forEach(marker => {
2087-
if (marker.pendingBoundaries.has(instance)) {
2088-
marker.pendingBoundaries.delete(instance);
2089-
}
2084+
const transitions = instance.transitions;
2085+
if (transitions !== null) {
2086+
let name = null;
2087+
const parent = deletedFiber.return;
2088+
if (
2089+
parent !== null &&
2090+
parent.tag === SuspenseComponent &&
2091+
parent.memoizedProps.unstable_name
2092+
) {
2093+
name = parent.memoizedProps.unstable_name;
2094+
}
2095+
2096+
abortParentMarkerTransitions(deletedFiber, nearestMountedAncestor, {
2097+
reason: 'suspense',
2098+
name,
20902099
});
20912100
}
20922101
}

packages/react-reconciler/src/ReactFiberTracingMarkerComponent.new.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,13 @@ function getFilteredDeletion(abort: TransitionAbort, endTime: number) {
168168
endTime,
169169
};
170170
}
171+
case 'suspense': {
172+
return {
173+
type: 'suspense',
174+
name: abort.name,
175+
endTime,
176+
};
177+
}
171178
default: {
172179
return null;
173180
}

packages/react-reconciler/src/ReactInternalTypes.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ export type TransitionTracingCallbacks = {
291291
startTime: number,
292292
deletions: Array<{
293293
type: string,
294-
name?: string,
294+
name?: string | null,
295295
endTime: number,
296296
}>,
297297
) => void,
@@ -313,7 +313,7 @@ export type TransitionTracingCallbacks = {
313313
startTime: number,
314314
deletions: Array<{
315315
type: string,
316-
name?: string,
316+
name?: string | null,
317317
endTime: number,
318318
}>,
319319
) => void,

0 commit comments

Comments
 (0)