(returnFiber, newChild, lanes)
| 13339 | } |
| 13340 | |
| 13341 | function createChild(returnFiber, newChild, lanes) { |
| 13342 | if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') { |
| 13343 | // Text nodes don't have keys. If the previous node is implicitly keyed |
| 13344 | // we can continue to replace it without aborting even if it is not a text |
| 13345 | // node. |
| 13346 | var created = createFiberFromText('' + newChild, returnFiber.mode, lanes); |
| 13347 | created.return = returnFiber; |
| 13348 | return created; |
| 13349 | } |
| 13350 | |
| 13351 | if (typeof newChild === 'object' && newChild !== null) { |
| 13352 | switch (newChild.$$typeof) { |
| 13353 | case REACT_ELEMENT_TYPE: |
| 13354 | { |
| 13355 | var _created = createFiberFromElement(newChild, returnFiber.mode, lanes); |
| 13356 | |
| 13357 | _created.ref = coerceRef(returnFiber, null, newChild); |
| 13358 | _created.return = returnFiber; |
| 13359 | return _created; |
| 13360 | } |
| 13361 | |
| 13362 | case REACT_PORTAL_TYPE: |
| 13363 | { |
| 13364 | var _created2 = createFiberFromPortal(newChild, returnFiber.mode, lanes); |
| 13365 | |
| 13366 | _created2.return = returnFiber; |
| 13367 | return _created2; |
| 13368 | } |
| 13369 | |
| 13370 | case REACT_LAZY_TYPE: |
| 13371 | { |
| 13372 | var payload = newChild._payload; |
| 13373 | var init = newChild._init; |
| 13374 | return createChild(returnFiber, init(payload), lanes); |
| 13375 | } |
| 13376 | } |
| 13377 | |
| 13378 | if (isArray(newChild) || getIteratorFn(newChild)) { |
| 13379 | var _created3 = createFiberFromFragment(newChild, returnFiber.mode, lanes, null); |
| 13380 | |
| 13381 | _created3.return = returnFiber; |
| 13382 | return _created3; |
| 13383 | } |
| 13384 | |
| 13385 | throwOnInvalidObjectType(returnFiber, newChild); |
| 13386 | } |
| 13387 | |
| 13388 | { |
| 13389 | if (typeof newChild === 'function') { |
| 13390 | warnOnFunctionType(returnFiber); |
| 13391 | } |
| 13392 | } |
| 13393 | |
| 13394 | return null; |
| 13395 | } |
| 13396 | |
| 13397 | function updateSlot(returnFiber, oldFiber, newChild, lanes) { |
| 13398 | // Update the fiber if the keys match, otherwise return null. |
no test coverage detected
searching dependent graphs…