dillon1000/react
Commit
Browse files Schedule prerender after something suspends (#30800)
Adds the concept of a "prerender". These special renders are spawned whenever something suspends (and we're not already prerendering). The purpose is to move speculative rendering work into a separate phase that does not block the UI from updating. For example, during a transition, if something suspends, we should not speculatively prerender siblings that will be replaced by a fallback in the UI until *after* the fallback has been shown to the user.
Changed paths24 files
First-parent comparisonpackages/react-cache/src/__tests__/ReactCacheOld-test.internal.js ModifiedM packages/react-dom/src/__tests__/ReactDOMFiberAsync-test.js ModifiedM packages/react-dom/src/__tests__/ReactDOMForm-test.js ModifiedM packages/react-reconciler/src/ReactFiberLane.js ModifiedM packages/react-reconciler/src/ReactFiberRoot.js ModifiedM packages/react-reconciler/src/ReactFiberWorkLoop.js ModifiedM packages/react-reconciler/src/ReactInternalTypes.js ModifiedM packages/react-reconciler/src/__tests__/ActivitySuspense-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactActWarnings-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactAsyncActions-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactCPUSuspense-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactConcurrentErrorRecovery-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactDeferredValue-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactExpiration-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactHooksWithNoopRenderer-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactLazy-test.internal.js ModifiedM packages/react-reconciler/src/__tests__/ReactSuspense-test.internal.js ModifiedM packages/react-reconciler/src/__tests__/ReactSuspenseEffectsSemantics-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactSuspenseList-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactSuspenseWithNoopRenderer-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactTransition-test.js ModifiedM packages/react-reconciler/src/__tests__/ReactUse-test.js ModifiedM packages/react-reconciler/src/__tests__/useMemoCache-test.js ModifiedM packages/react-reconciler/src/__tests__/useSyncExternalStore-test.js ModifiedPatch
Files changed
Rendering syntax-highlighted changes…