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

Reactのリストと条件付きレンダリングを完全解説!初心者でもわかる一覧表示と表示切り替えの基本

リストと条件付きレンダリングを組み合わせる方法
リストと条件付きレンダリングを組み合わせる方法

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

生徒

「Reactでリスト表示はできるようになったんですが、表示したり隠したりもできますか?」

先生

「できます。リスト表示と条件付きレンダリングを組み合わせると実現できます。」

生徒

「条件付きレンダリングって、難しそうな言葉ですね…」

先生

「仕組みはとても単純です。必要なときだけ表示する考え方を一緒に見ていきましょう。」

1. リスト表示と条件付きレンダリングとは

1. リスト表示と条件付きレンダリングとは
1. リスト表示と条件付きレンダリングとは

Reactでは、配列のデータを画面に一覧で表示することがよくあります。 これを「リスト表示」と呼びます。

一方で「条件付きレンダリング」とは、ある条件を満たしたときだけ画面に表示する仕組みです。 レンダリングとは、画面に表示するという意味です。

現実の例で言うと、雨の日だけ傘を持って出かけるようなものです。 条件が合ったときだけ、必要なものを出します。

2. リスト表示の基本をおさらい

2. リスト表示の基本をおさらい
2. リスト表示の基本をおさらい

まずは、Reactで配列を使って一覧を表示する基本形を確認します。 mapという仕組みを使うことで、同じ形の表示を繰り返せます。


import React from "react";

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

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

export default App;
(画面に「いぬ・ねこ・うさぎ」が縦に表示されます)

このように、配列の中身を一つずつ取り出して表示します。 同じ形の表示が続くときにとても便利です。

3. 条件付きレンダリングの基本

3. 条件付きレンダリングの基本
3. 条件付きレンダリングの基本

次に、条件付きレンダリングの考え方を見てみましょう。 Reactでは、条件がtrueのときだけ表示する書き方があります。


import React, { useState } from "react";

function App() {
  const [showMessage, setShowMessage] = useState(false);

  return (
    <div>
      <button onClick={() => setShowMessage(true)}>
        表示する
      </button>
      {showMessage && <p>メッセージが表示されました</p>}
    </div>
  );
}

export default App;
(ボタンを押すとメッセージが表示されます)

「&&」は、条件が正しいときだけ右側を表示するという意味です。 難しく考えず「条件が合えば表示する」と覚えると分かりやすいです。

4. リストと条件付きレンダリングを組み合わせる

4. リストと条件付きレンダリングを組み合わせる
4. リストと条件付きレンダリングを組み合わせる

ここからが本題です。 リスト表示と条件付きレンダリングを一緒に使うと、 「特定の条件に合うデータだけ表示する」ことができます。

例えば「在庫がある商品だけ表示する」ような場面です。


import React from "react";

function App() {
  const items = [
    { id: 1, name: "ノート", stock: true },
    { id: 2, name: "えんぴつ", stock: false },
    { id: 3, name: "消しゴム", stock: true }
  ];

  return (
    <ul>
      {items.map(item => (
        item.stock && <li key={item.id}>{item.name}</li>
      ))}
    </ul>
  );
}

export default App;
(在庫がある商品だけが表示されます)

stockがtrueのときだけ、リストに表示されます。 表示しないものは、そもそも画面に出てきません。

5. 条件によって表示内容を変える方法

5. 条件によって表示内容を変える方法
5. 条件によって表示内容を変える方法

条件付きレンダリングは、表示するかしないかだけでなく、 表示内容を切り替えることもできます。


import React from "react";

function App() {
  const users = [
    { id: 1, name: "たろう", login: true },
    { id: 2, name: "はなこ", login: false }
  ];

  return (
    <ul>
      {users.map(user => (
        <li key={user.id}>
          {user.login ? "ログイン中:" + user.name : "未ログイン"}
        </li>
      ))}
    </ul>
  );
}

export default App;
(ログイン状態に応じて表示が変わります)

「? :」は、条件によって表示を分ける書き方です。 条件が正しければ左、そうでなければ右が表示されます。

6. よくあるつまずきポイント

6. よくあるつまずきポイント
6. よくあるつまずきポイント

初心者がつまずきやすいのは、条件と表示を一度に考えすぎてしまうことです。 まずは「表示するかどうか」を意識しましょう。

また、keyは必ずリストの一番外側の要素につけます。 これはReactがどの要素かを正しく判断するためです。

現実世界で言うと、名札をつけて人を区別するような役割です。

7. リストと条件付きレンダリングの考え方のコツ

7. リストと条件付きレンダリングの考え方のコツ
7. リストと条件付きレンダリングの考え方のコツ

リストと条件付きレンダリングは、別々の難しい機能ではありません。 「並べる」と「必要なものだけ出す」を組み合わせているだけです。

買い物リストを作り、必要な物だけカゴに入れるイメージで考えると、 Reactの表示ロジックがぐっと分かりやすくなります。

まずはシンプルな条件から試して、少しずつ慣れていくことが大切です。

カテゴリの一覧へ
新着記事
New1
React
Reactのカスタムフックで依存関係を扱う方法を解説!初心者でもわかる依存関係管理
New2
Next.js
Next.js Client Componentsでフォーム入力を扱う実装パターン完全ガイド!初心者でもわかるNext.jsフォーム処理
New3
React
Fetch APIでPOSTリクエストを送る方法を完全解説!初心者でもわかるReactのデータ送信
New4
React
useEffectでクリーンアップ関数を使う方法をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.2
Java&Spring記事人気No2
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.3
Java&Spring記事人気No3
React
Reactのイベントハンドリングのアンチパターンまとめ!初心者でもわかる注意点
No.4
Java&Spring記事人気No4
React
Reactのカスタムフックの作り方を完全ガイド!再利用可能なロジックを切り出す仕組み
No.5
Java&Spring記事人気No5
React
useEffectでクリーンアップ関数を使う方法をやさしく解説
No.6
Java&Spring記事人気No6
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.7
Java&Spring記事人気No7
React
ReactでFetch APIのローディング状態を管理する方法|初心者にもわかる解説
No.8
Java&Spring記事人気No8
React
Reactでファイルアップロードを実装する方法を解説!Fetch APIで画像やPDFを送る仕組みを初心者向けに紹介