Skip to content
Prev Previous commit
Next Next commit
Store captured errors on a separate part of the update queue
This way they can be reused independently of updates like
getDerivedStateFromProps. This will be important for resuming.
  • Loading branch information
acdlite committed Apr 21, 2018
commit 23e859c8f4473930339da9b67030f484f0c751d6
14 changes: 3 additions & 11 deletions packages/react-reconciler/src/ReactFiberUnwindWork.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import type {CapturedValue} from './ReactCapturedValue';
import type {Update} from './ReactUpdateQueue';

import {createCapturedValue} from './ReactCapturedValue';
import {enqueueRenderPhaseUpdate, createUpdate} from './ReactUpdateQueue';
import {enqueueCapturedUpdate, createUpdate} from './ReactUpdateQueue';
import {logError} from './ReactFiberCommitWork';

import {
Expand Down Expand Up @@ -165,11 +165,7 @@ export default function<C, CX>(
const errorInfo = value;
workInProgress.effectTag |= ShouldCapture;
const update = createRootErrorUpdate(errorInfo, renderExpirationTime);
enqueueRenderPhaseUpdate(
workInProgress,
update,
renderExpirationTime,
);
enqueueCapturedUpdate(workInProgress, update, renderExpirationTime);
return;
}
case ClassComponent:
Expand All @@ -193,11 +189,7 @@ export default function<C, CX>(
errorInfo,
renderExpirationTime,
);
enqueueRenderPhaseUpdate(
workInProgress,
update,
renderExpirationTime,
);
enqueueCapturedUpdate(workInProgress, update, renderExpirationTime);
return;
}
break;
Expand Down