MCPcopy Create free account
hub / github.com/microsoft/SandDance / placeChild

Function placeChild

docs/external/js/react-dom.development.js:13644–13670  ·  view source on GitHub ↗
(newFiber, lastPlacedIndex, newIndex)

Source from the content-addressed store, hash-verified

13642 }
13643
13644 function placeChild(newFiber, lastPlacedIndex, newIndex) {
13645 newFiber.index = newIndex;
13646
13647 if (!shouldTrackSideEffects) {
13648 // Noop.
13649 return lastPlacedIndex;
13650 }
13651
13652 var current = newFiber.alternate;
13653
13654 if (current !== null) {
13655 var oldIndex = current.index;
13656
13657 if (oldIndex < lastPlacedIndex) {
13658 // This is a move.
13659 newFiber.effectTag = Placement;
13660 return lastPlacedIndex;
13661 } else {
13662 // This item can stay in place.
13663 return oldIndex;
13664 }
13665 } else {
13666 // This is an insertion.
13667 newFiber.effectTag = Placement;
13668 return lastPlacedIndex;
13669 }
13670 }
13671
13672 function placeSingleChild(newFiber) {
13673 // This is simpler for the single child case. We only need to do a

Callers 2

reconcileChildrenArrayFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected