mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
[Transition Tracing] Push Transition When Offscreen Becomes Visible (#24718)
This PR pushes all of a suspense boundary's transitions onto the transition stack when it goes from hidden to visible so we can pass it to any child suspense boundaries or tracing markers.
This commit is contained in:
@@ -779,7 +779,17 @@ function updateOffscreenComponent(
|
||||
prevCachePool = prevState.cachePool;
|
||||
}
|
||||
|
||||
pushTransition(workInProgress, prevCachePool, null);
|
||||
let transitions = null;
|
||||
if (
|
||||
workInProgress.memoizedState !== null &&
|
||||
workInProgress.memoizedState.transitions !== null
|
||||
) {
|
||||
// We have now gone from hidden to visible, so any transitions should
|
||||
// be added to the stack to get added to any Offscreen/suspense children
|
||||
transitions = workInProgress.memoizedState.transitions;
|
||||
}
|
||||
|
||||
pushTransition(workInProgress, prevCachePool, transitions);
|
||||
|
||||
// Since we're not hidden anymore, reset the state
|
||||
workInProgress.memoizedState = null;
|
||||
|
||||
@@ -779,7 +779,17 @@ function updateOffscreenComponent(
|
||||
prevCachePool = prevState.cachePool;
|
||||
}
|
||||
|
||||
pushTransition(workInProgress, prevCachePool, null);
|
||||
let transitions = null;
|
||||
if (
|
||||
workInProgress.memoizedState !== null &&
|
||||
workInProgress.memoizedState.transitions !== null
|
||||
) {
|
||||
// We have now gone from hidden to visible, so any transitions should
|
||||
// be added to the stack to get added to any Offscreen/suspense children
|
||||
transitions = workInProgress.memoizedState.transitions;
|
||||
}
|
||||
|
||||
pushTransition(workInProgress, prevCachePool, transitions);
|
||||
|
||||
// Since we're not hidden anymore, reset the state
|
||||
workInProgress.memoizedState = null;
|
||||
|
||||
Reference in New Issue
Block a user