Skip to content

Commit 1fc184d

Browse files
committed
suspense boundary deleted
1 parent a4647fa commit 1fc184d

File tree

4 files changed

+445
-13
lines changed

4 files changed

+445
-13
lines changed

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

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2087,13 +2087,26 @@ function commitDeletionEffectsOnFiber(
20872087
if (enableTransitionTracing) {
20882088
// We need to mark this fiber's parents as deleted
20892089
const instance: OffscreenInstance = deletedFiber.stateNode;
2090-
const markers = instance.pendingMarkers;
2091-
if (markers !== null) {
2092-
markers.forEach(marker => {
2093-
if (marker.pendingBoundaries.has(instance)) {
2094-
marker.pendingBoundaries.delete(instance);
2095-
}
2096-
});
2090+
const transitions = instance.transitions;
2091+
if (transitions !== null) {
2092+
let name = null;
2093+
const parent = deletedFiber.return;
2094+
if (
2095+
parent !== null &&
2096+
parent.tag === SuspenseComponent &&
2097+
parent.memoizedProps.unstable_name
2098+
) {
2099+
name = parent.memoizedProps.unstable_name;
2100+
}
2101+
2102+
recursivelyAbortParentMarkerTransitions(
2103+
deletedFiber,
2104+
nearestMountedAncestor,
2105+
{
2106+
type: 'suspense',
2107+
name,
2108+
},
2109+
);
20972110
}
20982111
}
20992112

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,13 @@ function getFilteredDeletion(deletion: TransitionDeletion, endTime: number) {
169169
endTime,
170170
};
171171
}
172+
case 'suspense': {
173+
return {
174+
type: deletion.type,
175+
name: deletion.name,
176+
endTime,
177+
};
178+
}
172179
default: {
173180
return null;
174181
}

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)