#Next.js 15でPrismaを用いてSSRを行おうとするとStatic routeになる
1 messages · Page 1 of 1 (latest)
Next.js 15でPrismaを使用してSSRを行う際に、Static routeになってしまう問題については、以下の解決策が考えられます:
-
dynamic = 'force-dynamic'オプションを使用する:
ページコンポーネントに以下のオプションを追加することで、強制的に動的レンダリングを行うことができます。export const dynamic = 'force-dynamic';このオプションを追加することで、ページが常に動的にレンダリングされ、Prismaからのデータフェッチが毎回実行されるようになります。Github Issue (https://github.com/vercel/next.js/issues/67945)
-
headers()関数を使用する:
ページコンポーネント内でheaders()関数を呼び出すことで、ページを動的レンダリングに切り替えることができます。import { headers } from 'next/headers' export default function NewPage() { // ページを動的レンダリングに切り替える const headersList = headers() // ... 残りのコンポーネントコード }この方法は、パフォーマンスへの影響を最小限に抑えつつ、動的レンダリングを実現できます。Github Issue (https://github.com/vercel/next.js/issues/55667)
-
noStore()関数を使用する:
データフェッチの前にnoStore()関数を呼び出すことで、キャッシュを無効化し、常に最新のデータを取得することができます。import { unstable_noStore as noStore } from 'next/cache'; async function getAllTeams() { noStore(); // Prismaを使用したデータフェッチのコード }この方法は、特定のデータフェッチ操作のみをキャッシュから除外したい場合に有効です。Github Issue (https://github.com/vercel/next.js/issues/44431)