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

React.VFCの記事読んだ

React.VFC の記事読んだ

React.VFC を使うべき理由

そういえば前に React.VFC のことをメモったな〜と思って自分が書いたやつを漁っていたら6/20に書いていた。

ここで出ていたやつが以下の記事。

【検証】React.FC と React.VFC はべつに使わなくていい説 – KRAY Inc.

そういえば読んだなと思いつつもう一度読み返した。

  • React.VFC が追加されてはいるが、v18 で非推奨 or 削除される可能性があるので使わなくてもいいんじゃないか
  • というよりジェネリクスを使った汎用コンポーネントが作れないし React.FC も使わなくてもいいんじゃないか
    • 名前空間付きのコンポーネントも作りにくいし
  • TS のコンパイルでパフォーマンス改善される可能性もあるし型定義でコンポーネントであることを明示できるので、React.FC はまあ使ってもいいのかも

みたいな感じだった。

半年前くらいの記事なので今はどうなっているかわからないが、コンポーネントであることを明示したいために React.FC を使うかどうかはプロジェクトの好みで分かれそうな気がする。自分の個人開発だったらコンポーネントであることを型で明示したいので React.FC を使うかな〜という気もする(最近 React をあまり書いてないので意見が変わる可能性も大いにある)

あと名前空間付きのコンポーネントを作るときにごちゃごちゃするという話は、むしろ Union Types を使っていて分かりやすいなと思ったので意見は分かれそう。僕は型があったほうが良い派です。

というわけで React.VFC に関してはこの記事を参考にすると使わなくてもよくない?という感じになるが、じゃあ公式がなんのために React.VFC を用意したんだという気もするし、難しい。

結局 React.FC に戻すんだからいいじゃんといっても、v18 に上げる段階で React.VFC を React.FC にする作業が追加で入るだけな気がする(React.FC から optional な children が削除されるとのことで、children を定義しているコンポーネントはどんな型になるのかわからないが)

なのでまあ React.VFC は使うか悩むにしても React.FC は使っていいのかな〜というのが個人の意見