UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Next.js】Next.js 13のリクエストパラメータの受け取り方

Next.js 13の/appを触っていて、getInitiaPropsがなくなったのでどうやってパラメータを受け取るのか調べた

例えば、以下のファイルを用意したとき、

app/blog/[slug]/page.tsx

http://example.com/blog/abc/?id=123

のURLで、slugidの受け取りたい

ドキュメントによると次のようにして受け取るみたい

export default function Page({ params, searchParams }: {
  params: { slug: string },
  searchParams: { id: string },
}) {
  return (
    <>
      <p>{params.slug}</p>
      <p>{searchParams.id}</p>
    </>
  );
}

beta.nextjs.org

ちなみに、i18n対応でのサブパスルーティングでlocaleを受け取りたかったが、それはまだダメそう

ドキュメントになかったので、今後拡張されることを期待する