カテゴリ: React 更新日: 2026/01/27

Reactのリストとキーをやさしく解説!map以外で複雑なリスト表示を実装する方法

複雑なリスト表示をmap以外で実装する方法
複雑なリスト表示をmap以外で実装する方法

先生と生徒の会話形式で理解しよう

生徒

「Reactでリスト表示はmapを使うって習ったんですが、それ以外の方法はないんですか?」

先生

「ありますよ。実は、表示が少し複雑になるとmap以外の書き方が分かりやすい場合もあります」

生徒

「初心者でも使える方法なんでしょうか?」

先生

「もちろんです。順番に、やさしく説明していきます」

1. なぜmap以外の方法を知る必要があるのか

1. なぜmap以外の方法を知る必要があるのか
1. なぜmap以外の方法を知る必要があるのか

Reactでリスト表示というと、 多くの人がmapを思い浮かべます。

ただし、条件が多い表示や、 表示内容がバラバラな場合は、 mapだけでは読みにくくなることがあります。

そんなときに、 別の書き方を知っていると、 プログラムが理解しやすくなります。

2. for文を使ってリストを作る方法

2. for文を使ってリストを作る方法
2. for文を使ってリストを作る方法

for文は、 回数を決めて繰り返す仕組みです。

紙に同じ文字を何行も書くような感覚で、 画面の部品を並べることができます。


import React from "react";

function App() {
  const items = ["ねこ", "いぬ", "うさぎ"];
  const list = [];

  for (let i = 0; i < items.length; i++) {
    list.push(<li key={i}>{items[i]}</li>);
  }

  return <ul>{list}</ul>;
}

export default App;
(動物の名前が縦に並んで表示されます)

3. 条件分岐と組み合わせたfor文の例

3. 条件分岐と組み合わせたfor文の例
3. 条件分岐と組み合わせたfor文の例

表示したいものと、 表示したくないものを分けたい場合、 for文はとても便利です。


function App() {
  const numbers = [1, 2, 3, 4, 5];
  const list = [];

  for (let i = 0; i < numbers.length; i++) {
    if (numbers[i] % 2 === 0) {
      list.push(<li key={i}>{numbers[i]}</li>);
    }
  }

  return <ul>{list}</ul>;
}
(偶数だけがリストとして表示されます)

4. あらかじめ部品を分けて表示する方法

4. あらかじめ部品を分けて表示する方法
4. あらかじめ部品を分けて表示する方法

複雑なリストでは、 表示の部品を先に作っておくと、 全体が見やすくなります。

これは、お弁当のおかずを 小皿に分けて並べるような考え方です。


function Item({ name }) {
  return <li>{name}</li>;
}

function App() {
  return (
    <ul>
      <Item name="パン" />
      <Item name="ごはん" />
      <Item name="めん" />
    </ul>
  );
}
(食べ物の名前がリスト表示されます)

5. 手動で並べることで理解しやすくなる場面

5. 手動で並べることで理解しやすくなる場面
5. 手動で並べることで理解しやすくなる場面

最初のうちは、 自動で並べるよりも、 一つずつ書いたほうが理解しやすいことがあります。

Reactでは、 こうした書き方も問題なく動きます。

仕組みを理解してから、 mapに戻るという学び方もおすすめです。

6. keyはmap以外でも必要

6. keyはmap以外でも必要
6. keyはmap以外でも必要

for文や手動で作ったリストでも、 keyは大切です。

keyは、 Reactが画面の部品を見分けるための番号札です。

これがあることで、 表示の更新が正しく行われます。

7. map以外の方法を知るメリット

7. map以外の方法を知るメリット
7. map以外の方法を知るメリット

map以外の書き方を知ると、 エラーの意味が分かりやすくなります。

また、 人が読んで理解しやすいコードを書く力も身につきます。

Reactのリスト表示は、 正解が一つではありません。

8. 複雑な表示ほどシンプルな考え方を

8. 複雑な表示ほどシンプルな考え方を
8. 複雑な表示ほどシンプルな考え方を

表示が複雑になるほど、 一つ一つを分解して考えることが大切です。

for文で作る、 部品を分ける、 手動で並べる、 これらを使い分けることで、 Reactの理解は大きく深まります。

カテゴリの一覧へ
新着記事
New1
React
Reactのフォーム入力を再利用しよう!初心者でもわかるフィールドコンポーネント化の考え方
New2
React
Reactでできること一覧!初心者でもわかるWebアプリ・スマホアプリ・PWAの活用方法
New3
React
React.jsが人気な理由!VueやAngularとの違いを初心者向けに徹底比較
New4
Next.js
Next.js×StorybookでUI開発環境を整える方法!初心者でもわかるNext.jsの環境構築
人気記事
No.1
Java&Spring記事人気No1
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説
No.2
Java&Spring記事人気No2
React
ReactのPresentational Componentを完全ガイド!初心者でもわかるStateを持たないコンポーネントの特徴
No.3
Java&Spring記事人気No3
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.4
Java&Spring記事人気No4
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.5
Java&Spring記事人気No5
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.6
Java&Spring記事人気No6
Next.js
Next.js Server Componentsのメリット・デメリットを完全解説!初心者でもわかるNext.jsの基本
No.7
Java&Spring記事人気No7
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.8
Java&Spring記事人気No8
React
Reactのカードコンポーネントを汎用的に設計する方法!初心者でもわかる再利用の考え方