dillon1000/react
Commit
Browse files Prerender during same pass if blocked anyway (#30879)
If something suspends in the shell — i.e. we won't replace the suspended content with a fallback — we might as well prerender the siblings during the current render pass, instead of spawning a separate prerender pass. This is implemented by setting the "is prerendering" flag to true whenever we suspend in the shell. But only if we haven't already skipped over some siblings, because if so, then we need to schedule a separate prerender pass regardless.
Changed paths20 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/ReactFiberHooks.js ModifiedM packages/react-reconciler/src/ReactFiberLane.js ModifiedM packages/react-reconciler/src/ReactFiberWorkLoop.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__/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__/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…