ReactのPropsで配列型を扱う方法を完全ガイド!初心者でもわかる型安全なProps管理
先生と生徒の会話形式で理解しよう
生徒
「ReactでPropsに配列を渡すことってできますか?」
先生
「はい、Propsには文字や数値だけでなく、配列も渡すことができますよ。」
生徒
「配列を渡すとどんなときに役立ちますか?」
先生
「例えば商品一覧や名前リストのように、同じ種類のデータをまとめて表示したいときに便利です。実際にコードを見ながら学んでいきましょう!」
1. 配列型Propsとは?
配列型Propsとは、複数のデータをひとつにまとめてコンポーネントに渡す方法です。配列は「順番付きの箱」のようなもので、1番目、2番目といった形で複数のデータを整理できます。現実でいえば「買い物かご」に似ていて、同じ種類のアイテムをまとめて入れておけます。
2. 基本的な配列型Propsの使い方
まずは文字列の配列を渡して表示する例です。複数の名前をリストとして表示してみましょう。
type NameListProps = {
names: string[];
};
function NameList({ names }: NameListProps) {
return (
<ul>
{names.map((name, index) => (
<li key={index}>{name}</li>
))}
</ul>
);
}
function App() {
const users = ["太郎", "花子", "次郎"];
return (
<div>
<NameList names={users} />
</div>
);
}
(画面に「太郎」「花子」「次郎」と箇条書きで表示されます)
3. 数値の配列をPropsで扱う
配列型Propsは文字列だけでなく、数値のリストにも使えます。例えば点数の一覧を表示するときです。
type ScoreListProps = {
scores: number[];
};
function ScoreList({ scores }: ScoreListProps) {
return (
<div>
{scores.map((score, index) => (
<p key={index}>{score}点</p>
))}
</div>
);
}
function App() {
const testScores = [80, 90, 75];
return (
<div>
<ScoreList scores={testScores} />
</div>
);
}
(画面に「80点」「90点」「75点」と表示されます)
4. オブジェクトの配列をPropsで扱う
配列にはオブジェクトを入れることもできます。例えばユーザーの名前と年齢をまとめて表示する場合です。
type User = {
name: string;
age: number;
};
type UserListProps = {
users: User[];
};
function UserList({ users }: UserListProps) {
return (
<ul>
{users.map((user, index) => (
<li key={index}>
{user.name}({user.age}歳)
</li>
))}
</ul>
);
}
function App() {
const members = [
{ name: "太郎", age: 20 },
{ name: "花子", age: 25 },
{ name: "次郎", age: 22 }
];
return (
<div>
<UserList users={members} />
</div>
);
}
(画面に「太郎(20歳)」「花子(25歳)」「次郎(22歳)」と表示されます)
5. 配列型Propsを扱うメリット
配列型Propsを使うと、次のようなメリットがあります。
- 大量のデータを簡単に表示できる:map関数を使って繰り返し表示が可能です。
- コードが整理される:1つずつPropsを渡さずにまとめて管理できます。
- 柔軟に拡張できる:新しい要素を配列に追加するだけで反映されます。
6. 注意点:keyプロパティを忘れない
配列をmapで表示するときは、必ず
などの要素にkeyプロパティをつけましょう。keyは「その要素が一意に区別できるID」のようなもので、Reactが効率よく画面を更新するために必要です。単純な配列ならindexを使っても大丈夫ですが、データベースのIDやユニークな値がある場合はそれを使うとより安全です。