MCPcopy Index your code
hub / github.com/krasimir/react-in-patterns / updateCallComponent

Function updateCallComponent

code/new-context-api/public/app.js:9536–9562  ·  view source on GitHub ↗
(current, workInProgress, renderExpirationTime)

Source from the content-addressed store, hash-verified

9534 }
9535
9536 function updateCallComponent(current, workInProgress, renderExpirationTime) {
9537 var nextProps = workInProgress.pendingProps;
9538 if (hasLegacyContextChanged()) {
9539 // Normally we can bail out on props equality but if context has changed
9540 // we don't do the bailout and we have to reuse existing props instead.
9541 } else if (workInProgress.memoizedProps === nextProps) {
9542 nextProps = workInProgress.memoizedProps;
9543 // TODO: When bailing out, we might need to return the stateNode instead
9544 // of the child. To check it for work.
9545 // return bailoutOnAlreadyFinishedWork(current, workInProgress);
9546 }
9547
9548 var nextChildren = nextProps.children;
9549
9550 // The following is a fork of reconcileChildrenAtExpirationTime but using
9551 // stateNode to store the child.
9552 if (current === null) {
9553 workInProgress.stateNode = mountChildFibers(workInProgress, workInProgress.stateNode, nextChildren, renderExpirationTime);
9554 } else {
9555 workInProgress.stateNode = reconcileChildFibers(workInProgress, current.stateNode, nextChildren, renderExpirationTime);
9556 }
9557
9558 memoizeProps(workInProgress, nextProps);
9559 // This doesn't take arbitrary time so we could synchronously just begin
9560 // eagerly do the work of workInProgress.child as an optimization.
9561 return workInProgress.stateNode;
9562 }
9563
9564 function updatePortalComponent(current, workInProgress, renderExpirationTime) {
9565 pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);

Callers 1

beginWorkFunction · 0.70

Calls 2

reconcileChildFibersFunction · 0.70
memoizePropsFunction · 0.70

Tested by

no test coverage detected