Description
This is a duplicate of #27573, which was closed without response. We're noticing this issue at scale, and it's fairly pronounced, with hundreds of rapid re-renders triggered by a single lazy component. I've forked the replication from original issue to demonstrate that this is still an issue in React 19:
https://codesandbox.io/p/sandbox/react-lazy-rerender-bug-forked-q4q6ym
The current behavior
The lazy parent component renders multiple times:

(In our environment, we've seen the number of re-renders proliferate to the hundreds. This matches the below reproduction.)
The expected behavior
The lazy parent component should only render one time.
The original issue had a reply that included a reproduction that matched the issue we're experiencing more closely: https://codesandbox.io/p/sandbox/react-lazy-suspense-5g75x3
Similar to what we're seeing, this repro has hundreds of re-renders, and the number is nondeterministic.


Our workaround for now is a lightweight replacement for Suspense
using the Transition API to defer its lazy children, for usage in nested lazy contexts:
export const DeferredSuspense: FunctionComponent<SuspenseProps> = (props) => {
const [isDeferred, setIsDeferred] = useState(true);
useEffect(() => {
startTransition(() => setIsDeferred(false));
}, []);
if (isDeferred) {
return props.fallback;
}
return <Suspense {...props} />;
};