memo.
結論
- 関数コンポーネント自体の型定義。
- 指定することで、JSX を返却していないとエラーに出来たりする。
- React v18 以降は、
React.FC
を関数コンポーネントに指定すると良い。- v18 から children が除外されるから。
- v17 までは
React.VFC
を利用する。
- children を明示的に型指定(
children: React.ReactNode
)する。
// React.FC 型
export const FooProvider: FC<FooProviderProps> = (props) => {
// () => JSX.Element 型
export const FooProvider = (props: FooProviderProps) => {
参考資料
基本的には型推論に任せて () => JSX.Element 型のままでOK
コンパイルのパフォーマンスや保守性を重視するなら明示的に型を指定しよう