React入門 練習問題 6:関数コンポーネントの利点
Reactにおいて、次のうち関数コンポーネントの利点として最も適切な説明はどれですか?
- ライフサイクルメソッド(componentDidMount, componentDidUpdate)が使えるため、より詳細な制御が可能
- this.stateで状態を一元管理できるため、大規模なアプリケーションに適している
- コードがシンプルで理解しやすく、フックを使って状態やライフサイクルの機能を追加できる
- PureComponentを継承することで、自動的にパフォーマンス最適化が行われる
- Reactバージョンの古い環境でも常に高速に動作する
Qraftユーザーの成績:正答率 89%(17/19回正解)
正解と解説を見る
正解:コードがシンプルで理解しやすく、フックを使って状態やライフサイクルの機能を追加できる
関数コンポーネントの利点は「コードがシンプルで理解しやすく、フックを使って状態やライフサイクルの機能を追加できる」ことです。
【正解の理由】
`useState`や`useEffect`などのフックにより、クラスコンポーネントの`this`やコンストラクタなしで状態管理やライフサイクル処理を実現でき、コード量が少なく読みやすくなります。
【不正解の理由】
• ライフサイクルメソッド(componentDidMount等)が使える:これはクラスコンポーネントの機能で、関数コンポーネントは代わりに`useEffect`を使う。
• this.stateで状態を一元管理できる:`this.state`はクラスコンポーネント特有の書き方で、関数コンポーネントは`useState`を個別に使う。
• PureComponentを継承して自動的にパフォーマンス最適化:`PureComponent`はクラスコンポーネントの機能で、関数コンポーネントでは`React.memo`を使う。
• Reactバージョンの古い環境でも常に高速に動作する:パフォーマンスは実装内容次第であり「古い環境で常に高速」という一般化は誤り。関数コンポーネント自体がバージョン互換性を保証するものではない。