(returnFiber, newChild, lanes)
| 15103 | } |
| 15104 | |
| 15105 | function createChild(returnFiber, newChild, lanes) { |
| 15106 | if (typeof newChild === 'string' && newChild !== '' || typeof newChild === 'number') { |
| 15107 | // Text nodes don't have keys. If the previous node is implicitly keyed |
| 15108 | // we can continue to replace it without aborting even if it is not a text |
| 15109 | // node. |
| 15110 | var created = createFiberFromText('' + newChild, returnFiber.mode, lanes); |
| 15111 | created.return = returnFiber; |
| 15112 | return created; |
| 15113 | } |
| 15114 | |
| 15115 | if (typeof newChild === 'object' && newChild !== null) { |
| 15116 | switch (newChild.$$typeof) { |
| 15117 | case REACT_ELEMENT_TYPE: |
| 15118 | { |
| 15119 | var _created = createFiberFromElement(newChild, returnFiber.mode, lanes); |
| 15120 | |
| 15121 | _created.ref = coerceRef(returnFiber, null, newChild); |
| 15122 | _created.return = returnFiber; |
| 15123 | return _created; |
| 15124 | } |
| 15125 | |
| 15126 | case REACT_PORTAL_TYPE: |
| 15127 | { |
| 15128 | var _created2 = createFiberFromPortal(newChild, returnFiber.mode, lanes); |
| 15129 | |
| 15130 | _created2.return = returnFiber; |
| 15131 | return _created2; |
| 15132 | } |
| 15133 | |
| 15134 | case REACT_LAZY_TYPE: |
| 15135 | { |
| 15136 | var payload = newChild._payload; |
| 15137 | var init = newChild._init; |
| 15138 | return createChild(returnFiber, init(payload), lanes); |
| 15139 | } |
| 15140 | } |
| 15141 | |
| 15142 | if (isArray(newChild) || getIteratorFn(newChild)) { |
| 15143 | var _created3 = createFiberFromFragment(newChild, returnFiber.mode, lanes, null); |
| 15144 | |
| 15145 | _created3.return = returnFiber; |
| 15146 | return _created3; |
| 15147 | } |
| 15148 | |
| 15149 | throwOnInvalidObjectType(returnFiber, newChild); |
| 15150 | } |
| 15151 | |
| 15152 | { |
| 15153 | if (typeof newChild === 'function') { |
| 15154 | warnOnFunctionType(returnFiber); |
| 15155 | } |
| 15156 | } |
| 15157 | |
| 15158 | return null; |
| 15159 | } |
| 15160 | |
| 15161 | function updateSlot(returnFiber, oldFiber, newChild, lanes) { |
| 15162 | // Update the fiber if the keys match, otherwise return null. |
no test coverage detected
searching dependent graphs…