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

Function deleteHydratableInstance

code/styling/public/app.js:12025–12053  ·  view source on GitHub ↗
(returnFiber, instance)

Source from the content-addressed store, hash-verified

12023 }
12024
12025 function deleteHydratableInstance(returnFiber, instance) {
12026 {
12027 switch (returnFiber.tag) {
12028 case HostRoot:
12029 didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance);
12030 break;
12031 case HostComponent:
12032 didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance);
12033 break;
12034 }
12035 }
12036
12037 var childToDelete = createFiberFromHostInstanceForDeletion();
12038 childToDelete.stateNode = instance;
12039 childToDelete['return'] = returnFiber;
12040 childToDelete.effectTag = Deletion;
12041
12042 // This might seem like it belongs on progressedFirstDeletion. However,
12043 // these children are not part of the reconciliation list of children.
12044 // Even if we abort and rereconcile the children, that will try to hydrate
12045 // again and the nodes are still in the host tree so these will be
12046 // recreated.
12047 if (returnFiber.lastEffect !== null) {
12048 returnFiber.lastEffect.nextEffect = childToDelete;
12049 returnFiber.lastEffect = childToDelete;
12050 } else {
12051 returnFiber.firstEffect = returnFiber.lastEffect = childToDelete;
12052 }
12053 }
12054
12055 function insertNonHydratedInstance(returnFiber, fiber) {
12056 fiber.effectTag |= Placement;

Callers 2

popHydrationStateFunction · 0.70

Tested by

no test coverage detected