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
の型アノテーションを使う
もしかして全部↑でいい?
Next.js の InferGetStaticPropsType が便利|catnose https://t.co/Fj5TpVW9Wb #zenn
— tagucch (@tagucch) July 20, 2022
とりあえずpropsの型にはInferGetStaticPropsType<typeof getStaticProps>やっておけばよかったりする?
- 仮に全部
InferGetStaticPropsType
を使えばよいのだとしたら、今後 getStaticProps の型定義はすべてこれで解決という感じになりそうだけど - 実際どうなんですかね?