Files
next.js/test/e2e/app-dir/app-static/app/prerendered-not-found/[slug]/page.tsx
JJ KasperandGitHub 51e091d542 Fix prerender tags when notFound is called (#74577)
This ensures we don't lose tags added to a page before `notFound()` is
called as otherwise a fetch on the page that has been revalidated won't
be able to be applied correctly if dropped from a `notFound()` call.
This was broken recently in the refactors of handling rendering in
app-render as it worked correctly in `v14`.

x-ref: [slack
thread](https://vercel.slack.com/archives/C04V3E1UYNQ/p1736200963684869)

Closes https://linear.app/vercel/issue/ENET-1381
Closes https://linear.app/vercel/issue/NEXT-3946
Closes https://github.com/vercel/next.js/issues/73973
Closes https://github.com/vercel/next.js/issues/66540
2025-01-07 17:26:15 +00:00

39 lines
666 B
TypeScript

import React from 'react'
import { notFound } from 'next/navigation'
export function generateStaticParams() {
return [
{
slug: 'first',
},
{
slug: 'second',
},
]
}
export default async function Page(props: {
params: Promise<{ slug: string }>
}) {
const params = await props.params
await fetch('https://next-data-api.vercel.app/api/random', {
next: {
tags: ['explicit-tag'],
},
})
if (
params.slug !== 'second' &&
process.env.NEXT_PHASE === 'phase-production-build'
) {
notFound()
}
return (
<>
<p>/prerendered-not-found/{params.slug}</p>
<p>{Date.now()}</p>
</>
)
}