processTransitionCallbacks() — react Function Reference
Architecture documentation for the processTransitionCallbacks() function in ReactFiberTracingMarkerComponent.js from the react codebase.
Entity Profile
Dependency Diagram
graph TD 89733698_2b95_9512_2fc7_b6f71c50ab8d["processTransitionCallbacks()"] 05714c8c_b2f5_ddac_3f79_222b33006713["ReactFiberTracingMarkerComponent.js"] 89733698_2b95_9512_2fc7_b6f71c50ab8d -->|defined in| 05714c8c_b2f5_ddac_3f79_222b33006713 style 89733698_2b95_9512_2fc7_b6f71c50ab8d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/react-reconciler/src/ReactFiberTracingMarkerComponent.js lines 60–193
export function processTransitionCallbacks(
pendingTransitions: PendingTransitionCallbacks,
endTime: number,
callbacks: TransitionTracingCallbacks,
): void {
if (enableTransitionTracing) {
if (pendingTransitions !== null) {
const transitionStart = pendingTransitions.transitionStart;
const onTransitionStart = callbacks.onTransitionStart;
if (transitionStart !== null && onTransitionStart != null) {
transitionStart.forEach(transition => {
if (transition.name != null) {
onTransitionStart(transition.name, transition.startTime);
}
});
}
const markerProgress = pendingTransitions.markerProgress;
const onMarkerProgress = callbacks.onMarkerProgress;
if (onMarkerProgress != null && markerProgress !== null) {
markerProgress.forEach((markerInstance, markerName) => {
if (markerInstance.transitions !== null) {
// TODO: Clone the suspense object so users can't modify it
const pending =
markerInstance.pendingBoundaries !== null
? Array.from(markerInstance.pendingBoundaries.values())
: [];
markerInstance.transitions.forEach(transition => {
if (transition.name != null) {
onMarkerProgress(
transition.name,
markerName,
transition.startTime,
endTime,
pending,
);
}
});
}
});
}
const markerComplete = pendingTransitions.markerComplete;
const onMarkerComplete = callbacks.onMarkerComplete;
if (markerComplete !== null && onMarkerComplete != null) {
markerComplete.forEach((transitions, markerName) => {
transitions.forEach(transition => {
if (transition.name != null) {
onMarkerComplete(
transition.name,
markerName,
transition.startTime,
endTime,
);
}
});
});
}
const markerIncomplete = pendingTransitions.markerIncomplete;
const onMarkerIncomplete = callbacks.onMarkerIncomplete;
if (onMarkerIncomplete != null && markerIncomplete !== null) {
markerIncomplete.forEach(({transitions, aborts}, markerName) => {
transitions.forEach(transition => {
const filteredAborts = [];
aborts.forEach(abort => {
switch (abort.reason) {
case 'marker': {
filteredAborts.push({
type: 'marker',
name: abort.name,
endTime,
});
break;
}
case 'suspense': {
filteredAborts.push({
type: 'suspense',
name: abort.name,
endTime,
});
Domain
Subdomains
Source
Frequently Asked Questions
What does processTransitionCallbacks() do?
processTransitionCallbacks() is a function in the react codebase, defined in packages/react-reconciler/src/ReactFiberTracingMarkerComponent.js.
Where is processTransitionCallbacks() defined?
processTransitionCallbacks() is defined in packages/react-reconciler/src/ReactFiberTracingMarkerComponent.js at line 60.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free