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

Function placeChild

code/new-context-api/public/app.js:8337–8359  ·  view source on GitHub ↗
(newFiber, lastPlacedIndex, newIndex)

Source from the content-addressed store, hash-verified

8335 }
8336
8337 function placeChild(newFiber, lastPlacedIndex, newIndex) {
8338 newFiber.index = newIndex;
8339 if (!shouldTrackSideEffects) {
8340 // Noop.
8341 return lastPlacedIndex;
8342 }
8343 var current = newFiber.alternate;
8344 if (current !== null) {
8345 var oldIndex = current.index;
8346 if (oldIndex < lastPlacedIndex) {
8347 // This is a move.
8348 newFiber.effectTag = Placement;
8349 return lastPlacedIndex;
8350 } else {
8351 // This item can stay in place.
8352 return oldIndex;
8353 }
8354 } else {
8355 // This is an insertion.
8356 newFiber.effectTag = Placement;
8357 return lastPlacedIndex;
8358 }
8359 }
8360
8361 function placeSingleChild(newFiber) {
8362 // 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