MCPcopy Create free account
hub / github.com/reactjs/react-rails / placeChild

Function placeChild

lib/assets/react-source/development/react.js:17204–17230  ·  view source on GitHub ↗
(newFiber, lastPlacedIndex, newIndex)

Source from the content-addressed store, hash-verified

17202 }
17203
17204 function placeChild(newFiber, lastPlacedIndex, newIndex) {
17205 newFiber.index = newIndex;
17206
17207 if (!shouldTrackSideEffects) {
17208 // Noop.
17209 return lastPlacedIndex;
17210 }
17211
17212 var current = newFiber.alternate;
17213
17214 if (current !== null) {
17215 var oldIndex = current.index;
17216
17217 if (oldIndex < lastPlacedIndex) {
17218 // This is a move.
17219 newFiber.effectTag = Placement;
17220 return lastPlacedIndex;
17221 } else {
17222 // This item can stay in place.
17223 return oldIndex;
17224 }
17225 } else {
17226 // This is an insertion.
17227 newFiber.effectTag = Placement;
17228 return lastPlacedIndex;
17229 }
17230 }
17231
17232 function placeSingleChild(newFiber) {
17233 // 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