MCPcopy Create free account
hub / github.com/reactjs/react-rails / resetHooksAfterThrow

Function resetHooksAfterThrow

lib/assets/react-source/development/react.js:18577–18616  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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 = {

Callers 2

handleErrorFunction · 0.85
react.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected