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

Reactのリストとキーをやさしく解説!初心者がつまずきやすいエラーと解決法

リストレンダリングでよくあるエラーと解決法
リストレンダリングでよくあるエラーと解決法

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

生徒

「Reactでリストを表示しようとしたら、エラーが出て止まってしまいました」

先生

「リスト表示は、初心者が一番つまずきやすいところですね」

生徒

「エラーの意味もよく分からなくて困っています」

先生

「よくある間違いを順番に見ていけば、必ず理解できますよ」

1. リストレンダリングでエラーが起きやすい理由

1. リストレンダリングでエラーが起きやすい理由
1. リストレンダリングでエラーが起きやすい理由

Reactでリストを表示するときは、 配列のデータを画面に並べます。

このとき、書き方を少し間違えるだけで、 エラーや警告が表示されます。

これはReactが画面の更新を安全に行うため、 細かいルールを持っているからです。

2. よくあるエラー① keyがない

2. よくあるエラー① keyがない
2. よくあるエラー① keyがない

リスト表示で最も多いのが、 keyが設定されていないエラーです。

keyとは、リストの一つ一つを見分けるための名札です。


import React from "react";

function App() {
  const fruits = ["りんご", "みかん", "ぶどう"];

  return (
    <ul>
      {fruits.map(fruit => (
        <li>{fruit}</li>
      ))}
    </ul>
  );
}

export default App;
(警告が表示され、keyを指定するように言われます)

この場合、Reactは「どれがどの要素か分からない」と判断します。

3. keyを指定して解決する

3. keyを指定して解決する
3. keyを指定して解決する

keyを指定することで、 Reactは要素を正しく管理できます。


import React from "react";

function App() {
  const fruits = ["りんご", "みかん", "ぶどう"];

  return (
    <ul>
      {fruits.map((fruit, index) => (
        <li key={index}>{fruit}</li>
      ))}
    </ul>
  );
}

export default App;
(エラーが消えて、リストが正常に表示されます)

4. よくあるエラー② mapの書き忘れ

4. よくあるエラー② mapの書き忘れ
4. よくあるエラー② mapの書き忘れ

配列をそのまま表示しようとして、 エラーになるケースも多いです。


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

  return (
    <ul>
      {numbers}
    </ul>
  );
}

この書き方では、 Reactはどう表示すればよいか分かりません。

5. mapを使って正しく表示する

5. mapを使って正しく表示する
5. mapを使って正しく表示する

mapは、配列の中身を一つずつ取り出す仕組みです。


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

  return (
    <ul>
      {numbers.map(num => (
        <li key={num}>{num}</li>
      ))}
    </ul>
  );
}
(数字のリストが正しく表示されます)

6. よくあるエラー③ returnの書き忘れ

6. よくあるエラー③ returnの書き忘れ
6. よくあるエラー③ returnの書き忘れ

mapの中で表示内容を返していないと、 何も表示されません。


{numbers.map(num => {
  <li key={num}>{num}</li>;
})}

これは「表示するものを返していない」状態です。

7. returnを書いて解決する

7. returnを書いて解決する
7. returnを書いて解決する

波かっこを使った場合は、 returnが必要です。


{numbers.map(num => {
  return <li key={num}>{num}</li>;
})}

8. エラー文を怖がらない考え方

8. エラー文を怖がらない考え方
8. エラー文を怖がらない考え方

エラーや警告は、 間違いを教えてくれる案内板です。

最初は意味が分からなくても、 よく見るとヒントが書かれています。

一つずつ直していけば、 確実に理解が深まります。

9. リストのエラーを防ぐ基本ルール

9. リストのエラーを防ぐ基本ルール
9. リストのエラーを防ぐ基本ルール

リスト表示では、 mapを使うこと、 keyを付けること、 表示内容を返すこと、 この三つを意識しましょう。

これだけで、 多くのエラーは防げます。

カテゴリの一覧へ
新着記事
New1
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
New2
React
PropsとStateの違いを徹底解説!使い分けのポイントまとめ
New3
React
Reactのフォーム入力を再利用しよう!初心者でもわかるフィールドコンポーネント化の考え方
New4
React
Reactでできること一覧!初心者でもわかるWebアプリ・スマホアプリ・PWAの活用方法
人気記事
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
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.4
Java&Spring記事人気No4
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
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のカードコンポーネントを汎用的に設計する方法!初心者でもわかる再利用の考え方