(current, workInProgress, nextChildren, renderExpirationTime)
| 9763 | } |
| 9764 | |
| 9765 | function reconcileChildrenAtExpirationTime(current, workInProgress, nextChildren, renderExpirationTime) { |
| 9766 | if (current === null) { |
| 9767 | // If this is a fresh new component that hasn't been rendered yet, we |
| 9768 | // won't update its child set by applying minimal side-effects. Instead, |
| 9769 | // we will add them all to the child before it gets rendered. That means |
| 9770 | // we can optimize this reconciliation pass by not tracking side-effects. |
| 9771 | workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); |
| 9772 | } else { |
| 9773 | // If the current child is the same as the work in progress, it means that |
| 9774 | // we haven't yet started any work on these children. Therefore, we use |
| 9775 | // the clone algorithm to create a copy of all the current children. |
| 9776 | |
| 9777 | // If we had any progressed work already, that is invalid at this point so |
| 9778 | // let's throw it out. |
| 9779 | workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderExpirationTime); |
| 9780 | } |
| 9781 | } |
| 9782 | |
| 9783 | function updateForwardRef(current, workInProgress) { |
| 9784 | var render = workInProgress.type.render; |
no test coverage detected