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

Function createChild

lib/assets/react-source/development/react.js:17309–17356  ·  view source on GitHub ↗
(returnFiber, newChild, expirationTime)

Source from the content-addressed store, hash-verified

17307 }
17308
17309 function createChild(returnFiber, newChild, expirationTime) {
17310 if (typeof newChild === 'string' || typeof newChild === 'number') {
17311 // Text nodes don't have keys. If the previous node is implicitly keyed
17312 // we can continue to replace it without aborting even if it is not a text
17313 // node.
17314 var created = createFiberFromText('' + newChild, returnFiber.mode, expirationTime);
17315 created.return = returnFiber;
17316 return created;
17317 }
17318
17319 if (typeof newChild === 'object' && newChild !== null) {
17320 switch (newChild.$$typeof) {
17321 case REACT_ELEMENT_TYPE:
17322 {
17323 var _created = createFiberFromElement(newChild, returnFiber.mode, expirationTime);
17324
17325 _created.ref = coerceRef(returnFiber, null, newChild);
17326 _created.return = returnFiber;
17327 return _created;
17328 }
17329
17330 case REACT_PORTAL_TYPE:
17331 {
17332 var _created2 = createFiberFromPortal(newChild, returnFiber.mode, expirationTime);
17333
17334 _created2.return = returnFiber;
17335 return _created2;
17336 }
17337 }
17338
17339 if (isArray$1(newChild) || getIteratorFn(newChild)) {
17340 var _created3 = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null);
17341
17342 _created3.return = returnFiber;
17343 return _created3;
17344 }
17345
17346 throwOnInvalidObjectType(returnFiber, newChild);
17347 }
17348
17349 {
17350 if (typeof newChild === 'function') {
17351 warnOnFunctionType();
17352 }
17353 }
17354
17355 return null;
17356 }
17357
17358 function updateSlot(returnFiber, oldFiber, newChild, expirationTime) {
17359 // Update the fiber if the keys match, otherwise return null.

Callers 2

reconcileChildrenArrayFunction · 0.85

Calls 8

createFiberFromTextFunction · 0.85
createFiberFromElementFunction · 0.85
coerceRefFunction · 0.85
createFiberFromPortalFunction · 0.85
createFiberFromFragmentFunction · 0.85
throwOnInvalidObjectTypeFunction · 0.85
warnOnFunctionTypeFunction · 0.85
getIteratorFnFunction · 0.70

Tested by

no test coverage detected