技術とかの雑なToday I Learnedメモ

Next.js の InferGetStaticPropsType の記事を読んだ

Next.js の InferGetStaticPropsType の記事を読んだ

Next.js の InferGetStaticPropsType が便利

読んだのでメモ。

InferGetStaticPropsType

  • GetStaticProps<Props> のように書いて Props を自分で定義していたものが推論で補完してくれるように
  • type Props = InferGetStaticPropsType<typeof getStaticProps> で Props の型定義が完成する
  • これをコンポーネントにわたす => const Component: NextPage<Props> = (props) => ... このように書く

GetStaticProps は型アノテーションをつけない

  • export const getStaticProps: GetStaticProps = async () => ... としてしまうと逆に類推されない
  • getStaticProps の引数が any に類推されてしまうので、その場合は getStaticProps = async (context: GetStaticPropsContext) => ... のように GetStaticPropsContext の型アノテーションを使う

もしかして全部↑でいい?

  • 仮に全部 InferGetStaticPropsType を使えばよいのだとしたら、今後 getStaticProps の型定義はすべてこれで解決という感じになりそうだけど
  • 実際どうなんですかね?