MCPcopy Index your code
hub / github.com/plotly/dash / commitLayoutEffects_begin

Function commitLayoutEffects_begin

dash/deps/react-dom@18.2.0.js:24627–24687  ·  view source on GitHub ↗
(subtreeRoot, root, committedLanes)

Source from the content-addressed store, hash-verified

24625 }
24626
24627 function commitLayoutEffects_begin(subtreeRoot, root, committedLanes) {
24628 // Suspense layout effects semantics don't change for legacy roots.
24629 var isModernRoot = (subtreeRoot.mode & ConcurrentMode) !== NoMode;
24630
24631 while (nextEffect !== null) {
24632 var fiber = nextEffect;
24633 var firstChild = fiber.child;
24634
24635 if ( fiber.tag === OffscreenComponent && isModernRoot) {
24636 // Keep track of the current Offscreen stack's state.
24637 var isHidden = fiber.memoizedState !== null;
24638 var newOffscreenSubtreeIsHidden = isHidden || offscreenSubtreeIsHidden;
24639
24640 if (newOffscreenSubtreeIsHidden) {
24641 // The Offscreen tree is hidden. Skip over its layout effects.
24642 commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);
24643 continue;
24644 } else {
24645 // TODO (Offscreen) Also check: subtreeFlags & LayoutMask
24646 var current = fiber.alternate;
24647 var wasHidden = current !== null && current.memoizedState !== null;
24648 var newOffscreenSubtreeWasHidden = wasHidden || offscreenSubtreeWasHidden;
24649 var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden;
24650 var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; // Traverse the Offscreen subtree with the current Offscreen as the root.
24651
24652 offscreenSubtreeIsHidden = newOffscreenSubtreeIsHidden;
24653 offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden;
24654
24655 if (offscreenSubtreeWasHidden && !prevOffscreenSubtreeWasHidden) {
24656 // This is the root of a reappearing boundary. Turn its layout effects
24657 // back on.
24658 nextEffect = fiber;
24659 reappearLayoutEffects_begin(fiber);
24660 }
24661
24662 var child = firstChild;
24663
24664 while (child !== null) {
24665 nextEffect = child;
24666 commitLayoutEffects_begin(child, // New root; bubble back up to here and stop.
24667 root, committedLanes);
24668 child = child.sibling;
24669 } // Restore Offscreen state and resume in our-progress traversal.
24670
24671
24672 nextEffect = fiber;
24673 offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;
24674 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
24675 commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);
24676 continue;
24677 }
24678 }
24679
24680 if ((fiber.subtreeFlags & LayoutMask) !== NoFlags && firstChild !== null) {
24681 firstChild.return = fiber;
24682 nextEffect = firstChild;
24683 } else {
24684 commitLayoutMountEffects_complete(subtreeRoot, root, committedLanes);

Callers 1

commitLayoutEffectsFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…