React | 配列表示:map と key を理解してリストUIを作る – 10/12

Reactで実用アプリを作ると必ず出てくるのが「配列→一覧表示」です。ここでは map と key の意味を理解し、削除・フィルタへつなげます。

mapでリストを表示する

配列を表示する基本は map です。

const items = ["Apple", "Orange", "Banana"]

<ul>
  {items.map((item) => (
    <li key={item}>{item}</li>
  ))}
</ul>

JSXの中で { ... } を使って配列から要素を生成しています。

keyが必要な理由

Reactはリストの差分更新を効率化するために key を使います。keyは「各要素を一意に識別できる値」が望ましいです。

  • 良い例:DBのID、UUID、安定した識別子
  • 注意:配列のindexは、並び替えや削除でズレるとバグの原因になります(学習段階では理解用に使うのはOK)

オブジェクト配列の表示

実際はオブジェクト配列が多いです。

const users = [
  { id: 1, name: "Taro" },
  { id: 2, name: "Hanako" },
]

<ul>
  {users.map((u) => (
    <li key={u.id}>{u.name}</li>
  ))}
</ul>

フィルタして表示する(検索の基本)

filter と組み合わせると検索の基本が作れます。

const visible = users.filter((u) => u.name.includes(keyword))

この visiblemap すれば、絞り込んだ一覧が表示できます。

練習問題

  1. users を3人に増やし、一覧表示してみましょう。
  2. 入力欄の文字で includes フィルタをかけて検索風にしてみましょう。
  3. keyにindexを使った場合のリスクを説明してみましょう。

コメント

タイトルとURLをコピーしました