()
| 18575 | } |
| 18576 | } |
| 18577 | function resetHooksAfterThrow() { |
| 18578 | // We can assume the previous dispatcher is always this one, since we set it |
| 18579 | // at the beginning of the render phase and there's no re-entrancy. |
| 18580 | ReactCurrentDispatcher.current = ContextOnlyDispatcher; |
| 18581 | |
| 18582 | if (didScheduleRenderPhaseUpdate) { |
| 18583 | // There were render phase updates. These are only valid for this render |
| 18584 | // phase, which we are now aborting. Remove the updates from the queues so |
| 18585 | // they do not persist to the next render. Do not remove updates from hooks |
| 18586 | // that weren't processed. |
| 18587 | // |
| 18588 | // Only reset the updates from the queue if it has a clone. If it does |
| 18589 | // not have a clone, that means it wasn't processed, and the updates were |
| 18590 | // scheduled before we entered the render phase. |
| 18591 | var hook = currentlyRenderingFiber$1.memoizedState; |
| 18592 | |
| 18593 | while (hook !== null) { |
| 18594 | var queue = hook.queue; |
| 18595 | |
| 18596 | if (queue !== null) { |
| 18597 | queue.pending = null; |
| 18598 | } |
| 18599 | |
| 18600 | hook = hook.next; |
| 18601 | } |
| 18602 | } |
| 18603 | |
| 18604 | renderExpirationTime = NoWork; |
| 18605 | currentlyRenderingFiber$1 = null; |
| 18606 | currentHook = null; |
| 18607 | workInProgressHook = null; |
| 18608 | |
| 18609 | { |
| 18610 | hookTypesDev = null; |
| 18611 | hookTypesUpdateIndexDev = -1; |
| 18612 | currentHookNameInDev = null; |
| 18613 | } |
| 18614 | |
| 18615 | didScheduleRenderPhaseUpdate = false; |
| 18616 | } |
| 18617 | |
| 18618 | function mountWorkInProgressHook() { |
| 18619 | var hook = { |
no outgoing calls
no test coverage detected