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

Function deleteHydratableInstance

code/new-context-api/public/app.js:11386–11414  ·  view source on GitHub ↗
(returnFiber, instance)

Source from the content-addressed store, hash-verified

11384 }
11385
11386 function deleteHydratableInstance(returnFiber, instance) {
11387 {
11388 switch (returnFiber.tag) {
11389 case HostRoot:
11390 didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance);
11391 break;
11392 case HostComponent:
11393 didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance);
11394 break;
11395 }
11396 }
11397
11398 var childToDelete = createFiberFromHostInstanceForDeletion();
11399 childToDelete.stateNode = instance;
11400 childToDelete['return'] = returnFiber;
11401 childToDelete.effectTag = Deletion;
11402
11403 // This might seem like it belongs on progressedFirstDeletion. However,
11404 // these children are not part of the reconciliation list of children.
11405 // Even if we abort and rereconcile the children, that will try to hydrate
11406 // again and the nodes are still in the host tree so these will be
11407 // recreated.
11408 if (returnFiber.lastEffect !== null) {
11409 returnFiber.lastEffect.nextEffect = childToDelete;
11410 returnFiber.lastEffect = childToDelete;
11411 } else {
11412 returnFiber.firstEffect = returnFiber.lastEffect = childToDelete;
11413 }
11414 }
11415
11416 function insertNonHydratedInstance(returnFiber, fiber) {
11417 fiber.effectTag |= Placement;

Callers 2

popHydrationStateFunction · 0.70

Tested by

no test coverage detected