Skip to content

Commit df61e70

Browse files
authored
Remove check in renderDidSuspendDelayIfPossible (#25630)
I don't think we need this anymore. It was added originally because RootSuspended would take priority over RootSuspendedWithDelay. But we've since changed it: any "bad" fallback state is permitted to block a "good" fallback state. The other status flags that this check used to account for are RootDidNotComplete and RootFatalErrored: - RootFatalErrored is like an invariant violation, it means something went really wrong already and we can't recover from it - RootCompleted and RootDidNotComplete are only set at the very end of the work loop, there's no way for renderDidSuspendDelayIfPossible to sneak in after that (at least none that I can think of — it's only called from the render phase) So I think we can just delete this. It's entirely possible there's some scenario I haven't considered, though, which is why I'm submitting this change as its own PR. To preserve the ability to bisect to it later.
1 parent 1a08f14 commit df61e70

File tree

2 files changed

+2
-14
lines changed

2 files changed

+2
-14
lines changed

packages/react-reconciler/src/ReactFiberWorkLoop.new.js

+1-7
Original file line numberDiff line numberDiff line change
@@ -1926,13 +1926,7 @@ export function renderDidSuspend(): void {
19261926
}
19271927

19281928
export function renderDidSuspendDelayIfPossible(): void {
1929-
if (
1930-
workInProgressRootExitStatus === RootInProgress ||
1931-
workInProgressRootExitStatus === RootSuspended ||
1932-
workInProgressRootExitStatus === RootErrored
1933-
) {
1934-
workInProgressRootExitStatus = RootSuspendedWithDelay;
1935-
}
1929+
workInProgressRootExitStatus = RootSuspendedWithDelay;
19361930

19371931
// Check if there are updates that we skipped tree that might have unblocked
19381932
// this render.

packages/react-reconciler/src/ReactFiberWorkLoop.old.js

+1-7
Original file line numberDiff line numberDiff line change
@@ -1926,13 +1926,7 @@ export function renderDidSuspend(): void {
19261926
}
19271927

19281928
export function renderDidSuspendDelayIfPossible(): void {
1929-
if (
1930-
workInProgressRootExitStatus === RootInProgress ||
1931-
workInProgressRootExitStatus === RootSuspended ||
1932-
workInProgressRootExitStatus === RootErrored
1933-
) {
1934-
workInProgressRootExitStatus = RootSuspendedWithDelay;
1935-
}
1929+
workInProgressRootExitStatus = RootSuspendedWithDelay;
19361930

19371931
// Check if there are updates that we skipped tree that might have unblocked
19381932
// this render.

0 commit comments

Comments
 (0)