【TypeScript×React】childrenの受取を必須にしたい!もしくは拒否したい!

React

開発をするなかで、このコンポーネントにはchildrenが絶対必要って設定したい…!ってなるとき、たまにありませんか?

かなり簡潔ですが、以下のようにすればできます。

必ず受け取るとき

ReactNodeを指定します。

import { ReactNode } from 'react';

type Props = {
    name: string
    children: ReactNode
}
  • ReactNodeは、reactからインポートする必要があります
  • childrenをオプション設定にしてはダメ

必ず受け取らないとき

never型にしましょう。

type Props = {
    name: string
    children?: never
}
タイトルとURLをコピーしました