[Transition Tracing] Code Cleanup (#24880)
This PR cleans up some of the transition tracing code by: * Looping through marker transitions only when we process the markerComplete callback (rather than in the commit phase) so we block for less time during commit. * Renaming `PendingSuspenseBoundaries` to `pendingBoundaries` * Cleaning up the callback functions
Luna Ruan committed
Jul 12, 2022 at 15:48 UTC
fa20b319fcfad50d7b981ec57f111b4e24d6f559
11 files changed
+111
-127
packages/react-reconciler/src/ReactFiber.new.js
+1
-1
@@ -770,7 +770,7 @@ export function createFiberFromTracingMarker(
770
fiber.lanes = lanes;
771
const tracingMarkerInstance: TracingMarkerInstance = {
772
transitions: null,
773
- pendingSuspenseBoundaries: null,
773
+ pendingBoundaries: null,
774
};
775
fiber.stateNode = tracingMarkerInstance;
776
return fiber;
packages/react-reconciler/src/ReactFiber.old.js
+1
-1
@@ -770,7 +770,7 @@ export function createFiberFromTracingMarker(
770
fiber.lanes = lanes;
771
const tracingMarkerInstance: TracingMarkerInstance = {
772
transitions: null,
773
- pendingSuspenseBoundaries: null,
773
+ pendingBoundaries: null,
774
};
775
fiber.stateNode = tracingMarkerInstance;
776
return fiber;
packages/react-reconciler/src/ReactFiberBeginWork.new.js
+1
-1
@@ -977,7 +977,7 @@ function updateTracingMarkerComponent(
977
if (currentTransitions !== null) {
978
const markerInstance: TracingMarkerInstance = {
979
transitions: new Set(currentTransitions),
980
- pendingSuspenseBoundaries: new Map(),
980
+ pendingBoundaries: new Map(),
981
name: workInProgress.pendingProps.name,
982
};
983
workInProgress.stateNode = markerInstance;
packages/react-reconciler/src/ReactFiberBeginWork.old.js
+1
-1
@@ -977,7 +977,7 @@ function updateTracingMarkerComponent(
977
if (currentTransitions !== null) {
978
const markerInstance: TracingMarkerInstance = {
979
transitions: new Set(currentTransitions),
980
- pendingSuspenseBoundaries: new Map(),
980
+ pendingBoundaries: new Map(),
981
name: workInProgress.pendingProps.name,
982
};
983
workInProgress.stateNode = markerInstance;
packages/react-reconciler/src/ReactFiberCommitWork.new.js
+13
-15
@@ -1210,7 +1210,7 @@ function reappearLayoutEffectsOnFiber(node: Fiber) {
1210
function commitTransitionProgress(offscreenFiber: Fiber) {
1211
if (enableTransitionTracing) {
1212
// This function adds suspense boundaries to the root
1213
- // or tracing marker's pendingSuspenseBoundaries map.
1213
+ // or tracing marker's pendingBoundaries map.
1214
// When a suspense boundary goes from a resolved to a fallback
1215
// state we add the boundary to the map, and when it goes from
1216
// a fallback to a resolved state, we remove the boundary from
@@ -1250,7 +1250,7 @@ function commitTransitionProgress(offscreenFiber: Fiber) {
1250
// to the pending boundary set if it's there
1251
if (pendingMarkers !== null) {
1252
pendingMarkers.forEach(markerInstance => {
1253
- const pendingBoundaries = markerInstance.pendingSuspenseBoundaries;
1253
+ const pendingBoundaries = markerInstance.pendingBoundaries;
1254
const transitions = markerInstance.transitions;
1255
if (
1256
pendingBoundaries !== null &&
@@ -1284,7 +1284,7 @@ function commitTransitionProgress(offscreenFiber: Fiber) {
1284
// if it's there
1285
if (pendingMarkers !== null) {
1286
pendingMarkers.forEach(markerInstance => {
1287
- const pendingBoundaries = markerInstance.pendingSuspenseBoundaries;
1287
+ const pendingBoundaries = markerInstance.pendingBoundaries;
1288
const transitions = markerInstance.transitions;
1289
if (
1290
pendingBoundaries !== null &&
@@ -2977,7 +2977,7 @@ function commitPassiveMountOnFiber(
2977
}
2978
2979
incompleteTransitions.forEach((markerInstance, transition) => {
2980
- const pendingBoundaries = markerInstance.pendingSuspenseBoundaries;
2980
+ const pendingBoundaries = markerInstance.pendingBoundaries;
2981
if (pendingBoundaries === null || pendingBoundaries.size === 0) {
2982
addTransitionCompleteCallbackToPendingTransition(transition);
2983
incompleteTransitions.delete(transition);
@@ -3052,8 +3052,8 @@ function commitPassiveMountOnFiber(
3052
if (instance.transitions === null) {
3053
instance.transitions = new Set();
3054
} else if (instance.transitions.has(transition)) {
3055
- if (markerInstance.pendingSuspenseBoundaries === null) {
3056
- markerInstance.pendingSuspenseBoundaries = new Map();
3055
+ if (markerInstance.pendingBoundaries === null) {
3056
+ markerInstance.pendingBoundaries = new Map();
3057
}
3058
if (instance.pendingMarkers === null) {
3059
instance.pendingMarkers = new Set();
@@ -3103,17 +3103,15 @@ function commitPassiveMountOnFiber(
3103
const instance = finishedWork.stateNode;
3104
if (
3105
instance.transitions !== null &&
3106
- (instance.pendingSuspenseBoundaries === null ||
3107
- instance.pendingSuspenseBoundaries.size === 0)
3106
+ (instance.pendingBoundaries === null ||
3107
+ instance.pendingBoundaries.size === 0)
3108
) {
3109
- instance.transitions.forEach(transition => {
3110
- addMarkerCompleteCallbackToPendingTransition({
3111
- transition,
3112
- name: finishedWork.memoizedProps.name,
3113
- });
3114
- });
3109
+ addMarkerCompleteCallbackToPendingTransition(
3110
+ finishedWork.memoizedProps.name,
3111
+ instance.transitions,
3112
+ );
3113
instance.transitions = null;
3116
- instance.pendingSuspenseBoundaries = null;
3114
+ instance.pendingBoundaries = null;
3115
}
3116
}
3117
break;
packages/react-reconciler/src/ReactFiberCommitWork.old.js
+13
-15
@@ -1210,7 +1210,7 @@ function reappearLayoutEffectsOnFiber(node: Fiber) {
1210
function commitTransitionProgress(offscreenFiber: Fiber) {
1211
if (enableTransitionTracing) {
1212
// This function adds suspense boundaries to the root
1213
- // or tracing marker's pendingSuspenseBoundaries map.
1213
+ // or tracing marker's pendingBoundaries map.
1214
// When a suspense boundary goes from a resolved to a fallback
1215
// state we add the boundary to the map, and when it goes from
1216
// a fallback to a resolved state, we remove the boundary from
@@ -1250,7 +1250,7 @@ function commitTransitionProgress(offscreenFiber: Fiber) {
1250
// to the pending boundary set if it's there
1251
if (pendingMarkers !== null) {
1252
pendingMarkers.forEach(markerInstance => {
1253
- const pendingBoundaries = markerInstance.pendingSuspenseBoundaries;
1253
+ const pendingBoundaries = markerInstance.pendingBoundaries;
1254
const transitions = markerInstance.transitions;
1255
if (
1256
pendingBoundaries !== null &&
@@ -1284,7 +1284,7 @@ function commitTransitionProgress(offscreenFiber: Fiber) {
1284
// if it's there
1285
if (pendingMarkers !== null) {
1286
pendingMarkers.forEach(markerInstance => {
1287
- const pendingBoundaries = markerInstance.pendingSuspenseBoundaries;
1287
+ const pendingBoundaries = markerInstance.pendingBoundaries;
1288
const transitions = markerInstance.transitions;
1289
if (
1290
pendingBoundaries !== null &&
@@ -2977,7 +2977,7 @@ function commitPassiveMountOnFiber(
2977
}
2978
2979
incompleteTransitions.forEach((markerInstance, transition) => {
2980
- const pendingBoundaries = markerInstance.pendingSuspenseBoundaries;
2980
+ const pendingBoundaries = markerInstance.pendingBoundaries;
2981
if (pendingBoundaries === null || pendingBoundaries.size === 0) {
2982
addTransitionCompleteCallbackToPendingTransition(transition);
2983
incompleteTransitions.delete(transition);
@@ -3052,8 +3052,8 @@ function commitPassiveMountOnFiber(
3052
if (instance.transitions === null) {
3053
instance.transitions = new Set();
3054
} else if (instance.transitions.has(transition)) {
3055
- if (markerInstance.pendingSuspenseBoundaries === null) {
3056
- markerInstance.pendingSuspenseBoundaries = new Map();
3055
+ if (markerInstance.pendingBoundaries === null) {
3056
+ markerInstance.pendingBoundaries = new Map();
3057
}
3058
if (instance.pendingMarkers === null) {
3059
instance.pendingMarkers = new Set();
@@ -3103,17 +3103,15 @@ function commitPassiveMountOnFiber(
3103
const instance = finishedWork.stateNode;
3104
if (
3105
instance.transitions !== null &&
3106
- (instance.pendingSuspenseBoundaries === null ||
3107
- instance.pendingSuspenseBoundaries.size === 0)
3106
+ (instance.pendingBoundaries === null ||
3107
+ instance.pendingBoundaries.size === 0)
3108
) {
3109
- instance.transitions.forEach(transition => {
3110
- addMarkerCompleteCallbackToPendingTransition({
3111
- transition,
3112
- name: finishedWork.memoizedProps.name,
3113
- });
3114
- });
3109
+ addMarkerCompleteCallbackToPendingTransition(
3110
+ finishedWork.memoizedProps.name,
3111
+ instance.transitions,
3112
+ );
3113
instance.transitions = null;
3116
- instance.pendingSuspenseBoundaries = null;
3114
+ instance.pendingBoundaries = null;
3115
}
3116
}
3117
break;
packages/react-reconciler/src/ReactFiberTracingMarkerComponent.new.js
+26
-36
@@ -17,17 +17,12 @@ import {getWorkInProgressTransitions} from './ReactFiberWorkLoop.new';
17
18
export type SuspenseInfo = {name: string | null};
19
20
-export type MarkerTransition = {
21
- transition: Transition,
22
- name: string,
23
-};
24
-
20
export type PendingTransitionCallbacks = {
21
transitionStart: Array<Transition> | null,
27
- transitionProgress: Map<Transition, PendingSuspenseBoundaries> | null,
22
+ transitionProgress: Map<Transition, PendingBoundaries> | null,
23
transitionComplete: Array<Transition> | null,
24
markerProgress: Map<string, TracingMarkerInstance> | null,
30
- markerComplete: Array<MarkerTransition> | null,
25
+ markerComplete: Map<string, Set<Transition>> | null,
26
};
27
28
export type Transition = {
@@ -42,12 +37,12 @@ export type BatchConfigTransition = {
37
};
38
39
export type TracingMarkerInstance = {|
45
- pendingSuspenseBoundaries: PendingSuspenseBoundaries | null,
40
+ pendingBoundaries: PendingBoundaries | null,
41
transitions: Set<Transition> | null,
42
name?: string,
43
|};
44
50
-export type PendingSuspenseBoundaries = Map<OffscreenInstance, SuspenseInfo>;
45
+export type PendingBoundaries = Map<OffscreenInstance, SuspenseInfo>;
46
47
export function processTransitionCallbacks(
48
pendingTransitions: PendingTransitionCallbacks,
@@ -57,12 +52,11 @@ export function processTransitionCallbacks(
52
if (enableTransitionTracing) {
53
if (pendingTransitions !== null) {
54
const transitionStart = pendingTransitions.transitionStart;
60
- if (transitionStart !== null) {
61
- transitionStart.forEach(transition => {
62
- if (callbacks.onTransitionStart != null) {
63
- callbacks.onTransitionStart(transition.name, transition.startTime);
64
- }
65
- });
55
+ const onTransitionStart = callbacks.onTransitionStart;
56
+ if (transitionStart !== null && onTransitionStart != null) {
57
+ transitionStart.forEach(transition =>
58
+ onTransitionStart(transition.name, transition.startTime),
59
+ );
60
}
61
62
const markerProgress = pendingTransitions.markerProgress;
@@ -71,8 +65,8 @@ export function processTransitionCallbacks(
65
markerProgress.forEach((markerInstance, markerName) => {
66
if (markerInstance.transitions !== null) {
67
const pending =
74
- markerInstance.pendingSuspenseBoundaries !== null
75
- ? Array.from(markerInstance.pendingSuspenseBoundaries.values())
68
+ markerInstance.pendingBoundaries !== null
69
+ ? Array.from(markerInstance.pendingBoundaries.values())
70
: [];
71
markerInstance.transitions.forEach(transition => {
72
onMarkerProgress(
@@ -88,16 +82,17 @@ export function processTransitionCallbacks(
82
}
83
84
const markerComplete = pendingTransitions.markerComplete;
91
- if (markerComplete !== null) {
92
- markerComplete.forEach(marker => {
93
- if (callbacks.onMarkerComplete != null) {
94
- callbacks.onMarkerComplete(
95
- marker.transition.name,
96
- marker.name,
97
- marker.transition.startTime,
85
+ const onMarkerComplete = callbacks.onMarkerComplete;
86
+ if (markerComplete !== null && onMarkerComplete != null) {
87
+ markerComplete.forEach((transitions, markerName) => {
88
+ transitions.forEach(transition => {
89
+ onMarkerComplete(
90
+ transition.name,
91
+ markerName,
92
+ transition.startTime,
93
endTime,
94
);
100
- }
95
+ });
96
});
97
}
98
@@ -115,16 +110,11 @@ export function processTransitionCallbacks(
110
}
111
112
const transitionComplete = pendingTransitions.transitionComplete;
118
- if (transitionComplete !== null) {
119
- transitionComplete.forEach(transition => {
120
- if (callbacks.onTransitionComplete != null) {
121
- callbacks.onTransitionComplete(
122
- transition.name,
123
- transition.startTime,
124
- endTime,
125
- );
126
- }
127
- });
113
+ const onTransitionComplete = callbacks.onTransitionComplete;
114
+ if (transitionComplete !== null && onTransitionComplete != null) {
115
+ transitionComplete.forEach(transition =>
116
+ onTransitionComplete(transition.name, transition.startTime, endTime),
117
+ );
118
}
119
}
120
}
@@ -157,7 +147,7 @@ export function pushRootMarkerInstance(workInProgress: Fiber): void {
147
if (!root.incompleteTransitions.has(transition)) {
148
const markerInstance: TracingMarkerInstance = {
149
transitions: new Set([transition]),
160
- pendingSuspenseBoundaries: null,
150
+ pendingBoundaries: null,
151
};
152
root.incompleteTransitions.set(transition, markerInstance);
153
}
packages/react-reconciler/src/ReactFiberTracingMarkerComponent.old.js
+26
-36
@@ -17,17 +17,12 @@ import {getWorkInProgressTransitions} from './ReactFiberWorkLoop.old';
17
18
export type SuspenseInfo = {name: string | null};
19
20
-export type MarkerTransition = {
21
- transition: Transition,
22
- name: string,
23
-};
24
-
20
export type PendingTransitionCallbacks = {
21
transitionStart: Array<Transition> | null,
27
- transitionProgress: Map<Transition, PendingSuspenseBoundaries> | null,
22
+ transitionProgress: Map<Transition, PendingBoundaries> | null,
23
transitionComplete: Array<Transition> | null,
24
markerProgress: Map<string, TracingMarkerInstance> | null,
30
- markerComplete: Array<MarkerTransition> | null,
25
+ markerComplete: Map<string, Set<Transition>> | null,
26
};
27
28
export type Transition = {
@@ -42,12 +37,12 @@ export type BatchConfigTransition = {
37
};
38
39
export type TracingMarkerInstance = {|
45
- pendingSuspenseBoundaries: PendingSuspenseBoundaries | null,
40
+ pendingBoundaries: PendingBoundaries | null,
41
transitions: Set<Transition> | null,
42
name?: string,
43
|};
44
50
-export type PendingSuspenseBoundaries = Map<OffscreenInstance, SuspenseInfo>;
45
+export type PendingBoundaries = Map<OffscreenInstance, SuspenseInfo>;
46
47
export function processTransitionCallbacks(
48
pendingTransitions: PendingTransitionCallbacks,
@@ -57,12 +52,11 @@ export function processTransitionCallbacks(
52
if (enableTransitionTracing) {
53
if (pendingTransitions !== null) {
54
const transitionStart = pendingTransitions.transitionStart;
60
- if (transitionStart !== null) {
61
- transitionStart.forEach(transition => {
62
- if (callbacks.onTransitionStart != null) {
63
- callbacks.onTransitionStart(transition.name, transition.startTime);
64
- }
65
- });
55
+ const onTransitionStart = callbacks.onTransitionStart;
56
+ if (transitionStart !== null && onTransitionStart != null) {
57
+ transitionStart.forEach(transition =>
58
+ onTransitionStart(transition.name, transition.startTime),
59
+ );
60
}
61
62
const markerProgress = pendingTransitions.markerProgress;
@@ -71,8 +65,8 @@ export function processTransitionCallbacks(
65
markerProgress.forEach((markerInstance, markerName) => {
66
if (markerInstance.transitions !== null) {
67
const pending =
74
- markerInstance.pendingSuspenseBoundaries !== null
75
- ? Array.from(markerInstance.pendingSuspenseBoundaries.values())
68
+ markerInstance.pendingBoundaries !== null
69
+ ? Array.from(markerInstance.pendingBoundaries.values())
70
: [];
71
markerInstance.transitions.forEach(transition => {
72
onMarkerProgress(
@@ -88,16 +82,17 @@ export function processTransitionCallbacks(
82
}
83
84
const markerComplete = pendingTransitions.markerComplete;
91
- if (markerComplete !== null) {
92
- markerComplete.forEach(marker => {
93
- if (callbacks.onMarkerComplete != null) {
94
- callbacks.onMarkerComplete(
95
- marker.transition.name,
96
- marker.name,
97
- marker.transition.startTime,
85
+ const onMarkerComplete = callbacks.onMarkerComplete;
86
+ if (markerComplete !== null && onMarkerComplete != null) {
87
+ markerComplete.forEach((transitions, markerName) => {
88
+ transitions.forEach(transition => {
89
+ onMarkerComplete(
90
+ transition.name,
91
+ markerName,
92
+ transition.startTime,
93
endTime,
94
);
100
- }
95
+ });
96
});
97
}
98
@@ -115,16 +110,11 @@ export function processTransitionCallbacks(
110
}
111
112
const transitionComplete = pendingTransitions.transitionComplete;
118
- if (transitionComplete !== null) {
119
- transitionComplete.forEach(transition => {
120
- if (callbacks.onTransitionComplete != null) {
121
- callbacks.onTransitionComplete(
122
- transition.name,
123
- transition.startTime,
124
- endTime,
125
- );
126
- }
127
- });
113
+ const onTransitionComplete = callbacks.onTransitionComplete;
114
+ if (transitionComplete !== null && onTransitionComplete != null) {
115
+ transitionComplete.forEach(transition =>
116
+ onTransitionComplete(transition.name, transition.startTime, endTime),
117
+ );
118
}
119
}
120
}
@@ -157,7 +147,7 @@ export function pushRootMarkerInstance(workInProgress: Fiber): void {
147
if (!root.incompleteTransitions.has(transition)) {
148
const markerInstance: TracingMarkerInstance = {
149
transitions: new Set([transition]),
160
- pendingSuspenseBoundaries: null,
150
+ pendingBoundaries: null,
151
};
152
root.incompleteTransitions.set(transition, markerInstance);
153
}
packages/react-reconciler/src/ReactFiberWorkLoop.new.js
+12
-9
@@ -16,8 +16,7 @@ import type {FunctionComponentUpdateQueue} from './ReactFiberHooks.new';
16
import type {EventPriority} from './ReactEventPriorities.new';
17
import type {
18
PendingTransitionCallbacks,
19
- MarkerTransition,
20
- PendingSuspenseBoundaries,
19
+ PendingBoundaries,
20
Transition,
21
} from './ReactFiberTracingMarkerComponent.new';
22
import type {OffscreenInstance} from './ReactFiberOffscreenComponent';
@@ -358,7 +357,7 @@ export function addTransitionStartCallbackToPendingTransition(
357
export function addMarkerProgressCallbackToPendingTransition(
358
markerName: string,
359
transitions: Set<Transition>,
361
- pendingSuspenseBoundaries: PendingSuspenseBoundaries | null,
360
+ pendingBoundaries: PendingBoundaries | null,
361
) {
362
if (enableTransitionTracing) {
363
if (currentPendingTransitionCallbacks === null) {
@@ -376,14 +375,15 @@ export function addMarkerProgressCallbackToPendingTransition(
375
}
376
377
currentPendingTransitionCallbacks.markerProgress.set(markerName, {
379
- pendingSuspenseBoundaries,
378
+ pendingBoundaries,
379
transitions,
380
});
381
}
382
}
383
384
export function addMarkerCompleteCallbackToPendingTransition(
386
- transition: MarkerTransition,
385
+ markerName: string,
386
+ transitions: Set<Transition>,
387
) {
388
if (enableTransitionTracing) {
389
if (currentPendingTransitionCallbacks === null) {
@@ -392,21 +392,24 @@ export function addMarkerCompleteCallbackToPendingTransition(
392
transitionProgress: null,
393
transitionComplete: null,
394
markerProgress: null,
395
- markerComplete: [],
395
+ markerComplete: new Map(),
396
};
397
}
398
399
if (currentPendingTransitionCallbacks.markerComplete === null) {
400
- currentPendingTransitionCallbacks.markerComplete = [];
400
+ currentPendingTransitionCallbacks.markerComplete = new Map();
401
}
402
403
- currentPendingTransitionCallbacks.markerComplete.push(transition);
403
+ currentPendingTransitionCallbacks.markerComplete.set(
404
+ markerName,
405
+ transitions,
406
+ );
407
}
408
}
409
410
export function addTransitionProgressCallbackToPendingTransition(
411
transition: Transition,
409
- boundaries: PendingSuspenseBoundaries,
412
+ boundaries: PendingBoundaries,
413
) {
414
if (enableTransitionTracing) {
415
if (currentPendingTransitionCallbacks === null) {
packages/react-reconciler/src/ReactFiberWorkLoop.old.js
+12
-9
@@ -16,8 +16,7 @@ import type {FunctionComponentUpdateQueue} from './ReactFiberHooks.old';
16
import type {EventPriority} from './ReactEventPriorities.old';
17
import type {
18
PendingTransitionCallbacks,
19
- MarkerTransition,
20
- PendingSuspenseBoundaries,
19
+ PendingBoundaries,
20
Transition,
21
} from './ReactFiberTracingMarkerComponent.old';
22
import type {OffscreenInstance} from './ReactFiberOffscreenComponent';
@@ -358,7 +357,7 @@ export function addTransitionStartCallbackToPendingTransition(
357
export function addMarkerProgressCallbackToPendingTransition(
358
markerName: string,
359
transitions: Set<Transition>,
361
- pendingSuspenseBoundaries: PendingSuspenseBoundaries | null,
360
+ pendingBoundaries: PendingBoundaries | null,
361
) {
362
if (enableTransitionTracing) {
363
if (currentPendingTransitionCallbacks === null) {
@@ -376,14 +375,15 @@ export function addMarkerProgressCallbackToPendingTransition(
375
}
376
377
currentPendingTransitionCallbacks.markerProgress.set(markerName, {
379
- pendingSuspenseBoundaries,
378
+ pendingBoundaries,
379
transitions,
380
});
381
}
382
}
383
384
export function addMarkerCompleteCallbackToPendingTransition(
386
- transition: MarkerTransition,
385
+ markerName: string,
386
+ transitions: Set<Transition>,
387
) {
388
if (enableTransitionTracing) {
389
if (currentPendingTransitionCallbacks === null) {
@@ -392,21 +392,24 @@ export function addMarkerCompleteCallbackToPendingTransition(
392
transitionProgress: null,
393
transitionComplete: null,
394
markerProgress: null,
395
- markerComplete: [],
395
+ markerComplete: new Map(),
396
};
397
}
398
399
if (currentPendingTransitionCallbacks.markerComplete === null) {
400
- currentPendingTransitionCallbacks.markerComplete = [];
400
+ currentPendingTransitionCallbacks.markerComplete = new Map();
401
}
402
403
- currentPendingTransitionCallbacks.markerComplete.push(transition);
403
+ currentPendingTransitionCallbacks.markerComplete.set(
404
+ markerName,
405
+ transitions,
406
+ );
407
}
408
}
409
410
export function addTransitionProgressCallbackToPendingTransition(
411
transition: Transition,
409
- boundaries: PendingSuspenseBoundaries,
412
+ boundaries: PendingBoundaries,
413
) {
414
if (enableTransitionTracing) {
415
if (currentPendingTransitionCallbacks === null) {
packages/react-reconciler/src/ReactInternalTypes.js
+5
-3
@@ -28,8 +28,10 @@ import type {TimeoutHandle, NoTimeout} from './ReactFiberHostConfig';
28
import type {Cache} from './ReactFiberCacheComponent.old';
29
// Doing this because there's a merge conflict because of the way sync-reconciler-fork
30
// is implemented
31
-import type {PendingSuspenseBoundaries} from './ReactFiberTracingMarkerComponent.new';
32
-import type {Transition} from './ReactFiberTracingMarkerComponent.new';
31
+import type {
32
+ TracingMarkerInstance,
33
+ Transition,
34
+} from './ReactFiberTracingMarkerComponent.new';
35
import type {ConcurrentUpdate} from './ReactFiberConcurrentUpdates.new';
36
37
// Unwind Circular: moved from ReactFiberHooks.old
@@ -335,7 +337,7 @@ type TransitionTracingOnlyFiberRootProperties = {|
337
// are considered complete when the pending suspense boundaries set is
338
// empty. We can represent this as a Map of transitions to suspense
339
// boundary sets
338
- incompleteTransitions: Map<Transition, PendingSuspenseBoundaries>,
340
+ incompleteTransitions: Map<Array<Transition>, TracingMarkerInstance>,
341
|};
342
343
// Exported FiberRoot type includes all properties,