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

Function placeChild

code/controlled-uncontrolled/public/app.js:8300–8322  ·  view source on GitHub ↗
(newFiber, lastPlacedIndex, newIndex)

Source from the content-addressed store, hash-verified

8298 }
8299
8300 function placeChild(newFiber, lastPlacedIndex, newIndex) {
8301 newFiber.index = newIndex;
8302 if (!shouldTrackSideEffects) {
8303 // Noop.
8304 return lastPlacedIndex;
8305 }
8306 var current = newFiber.alternate;
8307 if (current !== null) {
8308 var oldIndex = current.index;
8309 if (oldIndex < lastPlacedIndex) {
8310 // This is a move.
8311 newFiber.effectTag = Placement;
8312 return lastPlacedIndex;
8313 } else {
8314 // This item can stay in place.
8315 return oldIndex;
8316 }
8317 } else {
8318 // This is an insertion.
8319 newFiber.effectTag = Placement;
8320 return lastPlacedIndex;
8321 }
8322 }
8323
8324 function placeSingleChild(newFiber) {
8325 // 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