⏭️
nextjsのPageProps<''>について
PagePropsはuseful
nextjsのpageを作るときに、
export default function Page({
params,
searchParams,
}: {
params: Promise<{ slug: string }>
searchParams: Promise<{ [key: string]: string | string[] | undefined }>
}) {
return <h1>My Page</h1>
}
こう書いていませんか。でもちょっとpropsの型定義が煩雑すぎますよね。そうですよね。(圧)。
export default async function Page(props: PageProps<'/blog/[slug]'>) {
const { slug } = await props.params
const query = await props.searchParams
return <h1>Blog Post: {slug}</h1>
}
そこでPageProps<>が登場します。ほら。大変綺麗になりました。しかも間違いがない。
使い方は簡単。app/の先のルートを入れるだけ。スッキリ。
みなさん、このPageProps<>使いたい。そうですよね。(圧)。これ、実は最近のnextのアップデートで追加されたものなんです。
なので、nextjs@15.5以上を入れないといけません。ここに引っかかったので時間を使いました。以上。オーバー。
p.s. PagePropsは死んだとか、@types/nextを入れれば良いとかっていうことじゃないゾ。
Discussion