MCPcopy Create free account
hub / github.com/krasimir/react-in-patterns / deleteHydratableInstance

Function deleteHydratableInstance

code/communication/public/app.js:12060–12088  ·  view source on GitHub ↗
(returnFiber, instance)

Source from the content-addressed store, hash-verified

12058 }
12059
12060 function deleteHydratableInstance(returnFiber, instance) {
12061 {
12062 switch (returnFiber.tag) {
12063 case HostRoot:
12064 didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance);
12065 break;
12066 case HostComponent:
12067 didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance);
12068 break;
12069 }
12070 }
12071
12072 var childToDelete = createFiberFromHostInstanceForDeletion();
12073 childToDelete.stateNode = instance;
12074 childToDelete['return'] = returnFiber;
12075 childToDelete.effectTag = Deletion;
12076
12077 // This might seem like it belongs on progressedFirstDeletion. However,
12078 // these children are not part of the reconciliation list of children.
12079 // Even if we abort and rereconcile the children, that will try to hydrate
12080 // again and the nodes are still in the host tree so these will be
12081 // recreated.
12082 if (returnFiber.lastEffect !== null) {
12083 returnFiber.lastEffect.nextEffect = childToDelete;
12084 returnFiber.lastEffect = childToDelete;
12085 } else {
12086 returnFiber.firstEffect = returnFiber.lastEffect = childToDelete;
12087 }
12088 }
12089
12090 function insertNonHydratedInstance(returnFiber, fiber) {
12091 fiber.effectTag |= Placement;

Callers 2

popHydrationStateFunction · 0.70

Tested by

no test coverage detected