今までClass ComponentとFunction Componentの違いがよくわかってなかったので少しまとめてみます
これらを語る上で欠かせないのがstateとライフサイクルこいつらが何かというと
state
コンポーネント内で使える値で、値の変更が起こると、renderが走って画面が更新される
ライフサイクル
コンポーネントがMuntingしてUpdatingしてUnmountingする流れ
今風なのはFunction Component
Hooksが導入されるまではClass Componentではstateが使えたり、ライフサイクルが使えたりすることがメリットだと考えられていました
ただHooks内で使うuseStateとuseEffectあるのでstateとライフサイクルが置き換えられちゃうんですよね
Function Componentの方が記述が簡単にまとめられて、こっちを使う方がモダンなんです
ライフサイクルだとcomponetDidMount()とかcomponentDidUpdate()とかcomponentWillUnmount()とか長ったらしい記述を別々に記述するのめんどいですもんね
ただ、Hooksは比較的に新しい技術なので、ネットに転がっている情報はClass Componentの方が多そうです、、、
それらをみて、積極的にFunction Componentに書き換えてアプリ作成やっていけたらいいのかなと思います
後々、状況によってClass Componentで書いた方が良い!!という場面が出てくるかもしれないですし、Class ComponentとFunction Componentの使い分けができる様になると良いエンジニアへ成長していけるんでは??