mirror of
https://github.com/zebrajr/react.git
synced 2025-12-06 12:20:20 +01:00
Traverse down an updated tree even if it has no passive effects in profiling mode (#34667)
We need this to be able to log the renders that happened inside. This is the same thing we do here but for the offscreen special cases: https://github.com/facebook/react/blob/main/packages/react-reconciler/src/ReactFiberCommitWork.js#L3452-L3457
This commit is contained in:
parent
1bd1f01f2a
commit
bbc2d596fa
|
|
@ -3945,7 +3945,12 @@ function commitPassiveMountOnFiber(
|
|||
instance._visibility |= OffscreenPassiveEffectsConnected;
|
||||
|
||||
const includeWorkInProgressEffects =
|
||||
(finishedWork.subtreeFlags & PassiveMask) !== NoFlags;
|
||||
(finishedWork.subtreeFlags & PassiveMask) !== NoFlags ||
|
||||
(enableProfilerTimer &&
|
||||
enableComponentPerformanceTrack &&
|
||||
finishedWork.actualDuration !== 0 &&
|
||||
(finishedWork.alternate === null ||
|
||||
finishedWork.alternate.child !== finishedWork.child));
|
||||
recursivelyTraverseReconnectPassiveEffects(
|
||||
finishedRoot,
|
||||
finishedWork,
|
||||
|
|
@ -4113,7 +4118,12 @@ function recursivelyTraverseReconnectPassiveEffects(
|
|||
// node was reused.
|
||||
const childShouldIncludeWorkInProgressEffects =
|
||||
includeWorkInProgressEffects &&
|
||||
(parentFiber.subtreeFlags & PassiveMask) !== NoFlags;
|
||||
((parentFiber.subtreeFlags & PassiveMask) !== NoFlags ||
|
||||
(enableProfilerTimer &&
|
||||
enableComponentPerformanceTrack &&
|
||||
parentFiber.actualDuration !== 0 &&
|
||||
(parentFiber.alternate === null ||
|
||||
parentFiber.alternate.child !== parentFiber.child)));
|
||||
|
||||
// TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)
|
||||
let child = parentFiber.child;
|
||||
|
|
@ -4379,7 +4389,14 @@ function recursivelyTraverseAtomicPassiveEffects(
|
|||
// pre-rendering. We call this function when traversing a hidden tree whose
|
||||
// regular effects are currently disconnected.
|
||||
// TODO: Add special flag for atomic effects
|
||||
if (parentFiber.subtreeFlags & PassiveMask) {
|
||||
if (
|
||||
parentFiber.subtreeFlags & PassiveMask ||
|
||||
(enableProfilerTimer &&
|
||||
enableComponentPerformanceTrack &&
|
||||
parentFiber.actualDuration !== 0 &&
|
||||
(parentFiber.alternate === null ||
|
||||
parentFiber.alternate.child !== parentFiber.child))
|
||||
) {
|
||||
let child = parentFiber.child;
|
||||
while (child !== null) {
|
||||
if (enableProfilerTimer && enableComponentPerformanceTrack) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user