カテゴリ: 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のState更新が非同期で行われる理由と注意点をやさしく解説!初心者でもわかるStateの扱い方
New2
React
PropsとStateの違いを徹底解説!使い分けのポイントまとめ
New3
Next.js
Next.jsのtypesフォルダで型を管理する方法!初心者でもわかるNext.jsの型管理ガイド
New4
Next.js
Next.jsでPrismaとDrizzleを使うときのディレクトリ構成を初心者向けに解説!Next.jsのフォルダ分け完全ガイド
人気記事
No.1
Java&Spring記事人気No1
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.2
Java&Spring記事人気No2
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.3
Java&Spring記事人気No3
React
ReactのJSXとJavaScriptの違いを完全ガイド!初心者でもわかるReactのJSX入門
No.4
Java&Spring記事人気No4
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.5
Java&Spring記事人気No5
React
コンポーネントの作り方!基本的な書き方と使い方をReact初心者向けに解説
No.6
Java&Spring記事人気No6
React
ReactでAxiosのPUT・DELETEリクエストを完全ガイド!初心者でもわかるAPI通信の基本
No.7
Java&Spring記事人気No7
React
Reactはフレームワーク?ライブラリ?Reactの正しい位置づけと役割を初心者向けに解説!
No.8
Java&Spring記事人気No8
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説