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

Function deleteHydratableInstance

code/composition/public/app.js:12163–12191  ·  view source on GitHub ↗
(returnFiber, instance)

Source from the content-addressed store, hash-verified

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;

Callers 2

popHydrationStateFunction · 0.70

Tested by

no test coverage detected