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

Function placeChild

code/third-party/public/app.js:8209–8231  ·  view source on GitHub ↗
(newFiber, lastPlacedIndex, newIndex)

Source from the content-addressed store, hash-verified

8207 }
8208
8209 function placeChild(newFiber, lastPlacedIndex, newIndex) {
8210 newFiber.index = newIndex;
8211 if (!shouldTrackSideEffects) {
8212 // Noop.
8213 return lastPlacedIndex;
8214 }
8215 var current = newFiber.alternate;
8216 if (current !== null) {
8217 var oldIndex = current.index;
8218 if (oldIndex < lastPlacedIndex) {
8219 // This is a move.
8220 newFiber.effectTag = Placement;
8221 return lastPlacedIndex;
8222 } else {
8223 // This item can stay in place.
8224 return oldIndex;
8225 }
8226 } else {
8227 // This is an insertion.
8228 newFiber.effectTag = Placement;
8229 return lastPlacedIndex;
8230 }
8231 }
8232
8233 function placeSingleChild(newFiber) {
8234 // 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