(returnFiber, instance)
| 12161 | } |
| 12162 | |
| 12163 | function deleteHydratableInstance(returnFiber, instance) { |
| 12164 | { |
| 12165 | switch (returnFiber.tag) { |
| 12166 | case HostRoot: |
| 12167 | didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance); |
| 12168 | break; |
| 12169 | case HostComponent: |
| 12170 | didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance); |
| 12171 | break; |
| 12172 | } |
| 12173 | } |
| 12174 | |
| 12175 | var childToDelete = createFiberFromHostInstanceForDeletion(); |
| 12176 | childToDelete.stateNode = instance; |
| 12177 | childToDelete['return'] = returnFiber; |
| 12178 | childToDelete.effectTag = Deletion; |
| 12179 | |
| 12180 | // This might seem like it belongs on progressedFirstDeletion. However, |
| 12181 | // these children are not part of the reconciliation list of children. |
| 12182 | // Even if we abort and rereconcile the children, that will try to hydrate |
| 12183 | // again and the nodes are still in the host tree so these will be |
| 12184 | // recreated. |
| 12185 | if (returnFiber.lastEffect !== null) { |
| 12186 | returnFiber.lastEffect.nextEffect = childToDelete; |
| 12187 | returnFiber.lastEffect = childToDelete; |
| 12188 | } else { |
| 12189 | returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; |
| 12190 | } |
| 12191 | } |
| 12192 | |
| 12193 | function insertNonHydratedInstance(returnFiber, fiber) { |
| 12194 | fiber.effectTag |= Placement; |
no test coverage detected