(current, workInProgress, renderExpirationTime)
| 22569 | } |
| 22570 | |
| 22571 | function completeWork(current, workInProgress, renderExpirationTime) { |
| 22572 | var newProps = workInProgress.pendingProps; |
| 22573 | |
| 22574 | switch (workInProgress.tag) { |
| 22575 | case IndeterminateComponent: |
| 22576 | case LazyComponent: |
| 22577 | case SimpleMemoComponent: |
| 22578 | case FunctionComponent: |
| 22579 | case ForwardRef: |
| 22580 | case Fragment: |
| 22581 | case Mode: |
| 22582 | case Profiler: |
| 22583 | case ContextConsumer: |
| 22584 | case MemoComponent: |
| 22585 | return null; |
| 22586 | |
| 22587 | case ClassComponent: |
| 22588 | { |
| 22589 | var Component = workInProgress.type; |
| 22590 | |
| 22591 | if (isContextProvider(Component)) { |
| 22592 | popContext(workInProgress); |
| 22593 | } |
| 22594 | |
| 22595 | return null; |
| 22596 | } |
| 22597 | |
| 22598 | case HostRoot: |
| 22599 | { |
| 22600 | popHostContainer(workInProgress); |
| 22601 | popTopLevelContextObject(workInProgress); |
| 22602 | var fiberRoot = workInProgress.stateNode; |
| 22603 | |
| 22604 | if (fiberRoot.pendingContext) { |
| 22605 | fiberRoot.context = fiberRoot.pendingContext; |
| 22606 | fiberRoot.pendingContext = null; |
| 22607 | } |
| 22608 | |
| 22609 | if (current === null || current.child === null) { |
| 22610 | // If we hydrated, pop so that we can delete any remaining children |
| 22611 | // that weren't hydrated. |
| 22612 | var wasHydrated = popHydrationState(workInProgress); |
| 22613 | |
| 22614 | if (wasHydrated) { |
| 22615 | // If we hydrated, then we'll need to schedule an update for |
| 22616 | // the commit side-effects on the root. |
| 22617 | markUpdate(workInProgress); |
| 22618 | } |
| 22619 | } |
| 22620 | |
| 22621 | updateHostContainer(workInProgress); |
| 22622 | return null; |
| 22623 | } |
| 22624 | |
| 22625 | case HostComponent: |
| 22626 | { |
| 22627 | popHostContext(workInProgress); |
| 22628 | var rootContainerInstance = getRootHostContainer(); |
no test coverage detected