React入門 練習問題 41:フック:useCallbackの役割
Reactの`useCallback`フックの主な役割として正しいものはどれか。
- 複雑な計算結果をキャッシュし、再計算を防ぐために使用する。
- 関数をメモ化し、不要な関数の再生成を防ぐために使用する。
- コンポーネント自体の再レンダリングをスキップするために使用する。
- DOM要素への直接の参照を保持し、操作するために使用する。
- グローバルな状態を複数のコンポーネントで共有するために使用する。
正解と解説を見る
正解:関数をメモ化し、不要な関数の再生成を防ぐために使用する。
正解は、関数をメモ化し、不要な関数の再生成を防ぐために使用する、です。
【正解の理由】
`useCallback`は、コールバック関数そのものをキャッシュ(メモ化)するためのフックです。コンポーネントが再レンダリングされても、依存配列の値が変わらない限り同じ関数インスタンスを使い回すため、子コンポーネントの不要な再描画を防ぐ際などに役立ちます。
【不正解の理由】
• 「複雑な計算結果をキャッシュし、再計算を防ぐために使用する」は誤り。これは`useMemo`の役割です。
• 「コンポーネント自体の再レンダリングをスキップするために使用する」は誤り。これは`React.memo`などの役割です。
• 「DOM要素への直接の参照を保持し、操作するために使用する」は誤り。これは`useRef`の役割です。
• 「グローバルな状態を複数のコンポーネントで共有するために使用する」は誤り。これはContext APIなどの役割です。