MCPcopy Create free account
hub / github.com/krasimir/react-in-patterns / appendAllChildrenToContainer

Function appendAllChildrenToContainer

code/styling/public/app.js:10697–10725  ·  view source on GitHub ↗
(containerChildSet, workInProgress)

Source from the content-addressed store, hash-verified

10695 // An unfortunate fork of appendAllChildren because we have two different parent types.
10696
10697 var appendAllChildrenToContainer = function (containerChildSet, workInProgress) {
10698 // We only have the top Fiber that was created but we need recurse down its
10699 // children to find all the terminal nodes.
10700 var node = workInProgress.child;
10701 while (node !== null) {
10702 if (node.tag === HostComponent || node.tag === HostText) {
10703 appendChildToContainerChildSet(containerChildSet, node.stateNode);
10704 } else if (node.tag === HostPortal) {
10705 // If we have a portal child, then we don't want to traverse
10706 // down its children. Instead, we'll get insertions from each child in
10707 // the portal directly.
10708 } else if (node.child !== null) {
10709 node.child['return'] = node;
10710 node = node.child;
10711 continue;
10712 }
10713 if (node === workInProgress) {
10714 return;
10715 }
10716 while (node.sibling === null) {
10717 if (node['return'] === null || node['return'] === workInProgress) {
10718 return;
10719 }
10720 node = node['return'];
10721 }
10722 node.sibling['return'] = node['return'];
10723 node = node.sibling;
10724 }
10725 };
10726 updateHostContainer = function (workInProgress) {
10727 var portalOrRoot = workInProgress.stateNode;
10728 var childrenUnchanged = workInProgress.firstEffect === null;

Callers 1

ReactFiberCompleteWorkFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected