今まで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
の使い分けができる様になると良いエンジニアへ成長していけるんでは??