React入門 練習問題 49:カスタムフック:戻り値のルール
Reactのカスタムフック(=独自に定義したフック)が返すことのできる値の形式に関するルールとして正しいものはどれか。
- 任意のデータ型(配列、オブジェクト、単一の値など)を自由に返すことができる。
- コンポーネントで利用するため、必ずJSX要素を含むオブジェクトを返す必要がある。
- 状態管理を確実に行うため、必ずuseStateと同じ形式の配列を返す必要がある。
- 他のフックとの互換性を保つため、必ず関数のみを返す設計にする必要がある。
- 再レンダリングを防ぐため、必ずプリミティブ型(文字列や数値など)を返す必要がある。
正解と解説を見る
正解:任意のデータ型(配列、オブジェクト、単一の値など)を自由に返すことができる。
カスタムフックの戻り値に関するルールとして、「任意のデータ型を自由に返すことができる」という説明が正解です。
【正解の理由】
カスタムフック(=複数のコンポーネントで状態管理などのロジックを使い回すための独自関数)は、単なるJavaScriptの関数です。そのため、用途に応じて配列、オブジェクト、単一の数値や文字列など、何でも自由に返すことができます(何も返さなくても構いません)。
【不正解の理由】
• 「必ずJSX要素を含むオブジェクトを返す必要がある」という説明は誤り。JSXを返すのはコンポーネントの役割である
• 「必ずuseStateと同じ形式の配列を返す必要がある」という説明は誤り。配列で返すのは自由だが必須ではない
• 「必ず関数のみを返す設計にする必要がある」という説明は誤り。関数以外のデータを返してもよい
• 「必ずプリミティブ型を返す必要がある」という説明は誤り。オブジェクトや配列などを返しても構わない