Open2

Next.js+prisma+shadcnでつまづくことメモ

RockyRocky

client componentからsearchparamsをセットする方法

  • useSerchParamsで返却されるsearchParamsはread onlyであるため別の方法が必要
    const searchParams = useSearchParams();
    const params = new URLSearchParams(searchParams.toString());
    params.set('paramsの名前', value);
    router.push(createInterview/?${params.toString()})
RockyRocky

ビルド時にprismaの関数を呼び出そうとして、DATABASE_URLがなくエラーになる

PrismaClientInitializationError: error: Environment variable not found: DATABASE_URL.
--> schema.prisma:7
|
6 | provider = "mysql"
7 | url = env("DATABASE_URL")

  • あるpage.tsxにおいてprismaの関数を使用している場合に発生しうる現象
  • Next.jsはデフォルトで静的ページだと判断して処理するため、ビルド時にレンダリングを試みて失敗
  • 動的ページとして明示的に指定することで回避できる
    export const dynamic = 'force-dynamic';
    export default async function Page() {