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

Function placeChild

code/communication/public/app.js:9011–9033  ·  view source on GitHub ↗
(newFiber, lastPlacedIndex, newIndex)

Source from the content-addressed store, hash-verified

9009 }
9010
9011 function placeChild(newFiber, lastPlacedIndex, newIndex) {
9012 newFiber.index = newIndex;
9013 if (!shouldTrackSideEffects) {
9014 // Noop.
9015 return lastPlacedIndex;
9016 }
9017 var current = newFiber.alternate;
9018 if (current !== null) {
9019 var oldIndex = current.index;
9020 if (oldIndex < lastPlacedIndex) {
9021 // This is a move.
9022 newFiber.effectTag = Placement;
9023 return lastPlacedIndex;
9024 } else {
9025 // This item can stay in place.
9026 return oldIndex;
9027 }
9028 } else {
9029 // This is an insertion.
9030 newFiber.effectTag = Placement;
9031 return lastPlacedIndex;
9032 }
9033 }
9034
9035 function placeSingleChild(newFiber) {
9036 // This is simpler for the single child case. We only need to do a

Callers 2

reconcileChildrenArrayFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected