Files
Benjamin WoodruffandGitHub 07b3ae71d1 chore: Attempt to fix ppr-partial-hydration flakiness (#84672)
Write to a marker file to determine when the slow server component finishes rendering instead of trying to sleep for some fixed amount of time.
2025-10-16 19:38:52 -07:00

33 lines
896 B
TypeScript

import { Suspense } from 'react'
import { connection } from 'next/server'
import { HydrationIndicator } from '../../hydration-indicator'
import waitForMarkerFile from '../../../waitForMarkerFile'
export default function Page() {
return (
<main id="shell">
<h1>This is a page with static shell + no streaming metadata</h1>
<div>
<p>Static shell</p>
<HydrationIndicator id="shell-hydrated" />
<hr />
<Suspense fallback={<div id="dynamic-fallback">Loading...</div>}>
<SlowServerComponent />
</Suspense>
</div>
</main>
)
}
async function SlowServerComponent() {
await connection()
await waitForMarkerFile()
const randomValue = Math.floor(Math.random() * 1000)
return (
<div id="dynamic">
<div>{`Random value: ${randomValue}`}</div>
<HydrationIndicator id="dynamic-hydrated" />
</div>
)
}