Files
Josh StoryandGitHub 1931877c29 Remove prefetch from instant config (#92761)
prefetching is now controlled with the prefetch export and this option
is inert on the instant export. this removes the prefetch option as a
valid property on the instant config type.

also updates the ts plugin for this export and adds the definition for
the previously landed prefetch export
2026-04-17 10:44:45 -07:00

33 lines
967 B
TypeScript

// This layout has runtime prefetching enabled. Static parents above it should
// be able to inline through it and into the static child below, because this
// layout acts as a transparent pass-through — its slot in the bundle is null
// but the chain isn't broken.
import { ReactNode, Suspense } from 'react'
import { cookies } from 'next/headers'
export const unstable_instant = {
samples: [{ cookies: [{ name: 'theme', value: 'default' }] }],
}
export const unstable_prefetch = 'force-runtime'
async function DynamicContent() {
const cookieStore = await cookies()
const theme = cookieStore.get('theme')?.value ?? 'default'
return <p id="layout-runtime-passthrough">Runtime layout (theme: {theme})</p>
}
export default function RuntimePassthroughLayout({
children,
}: {
children: ReactNode
}) {
return (
<div>
<Suspense fallback={<p>Loading layout...</p>}>
<DynamicContent />
</Suspense>
{children}
</div>
)
}