カテゴリ: 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 RouterのLinkコンポーネントの使い方を完全解説!初心者でもわかるページ遷移の基本
New2
React
Reactで学ぶPropsとStateを型安全にテストする方法!初心者でも安心できるテストの考え方
New3
Next.js
Next.js App Routerとは?Next.js 13以降の新標準を初心者向けにやさしく解説
New4
Next.js
Next.js Linkコンポーネントでページ遷移を高速化する方法!初心者向け解説
人気記事
No.1
Java&Spring記事人気No1
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.2
Java&Spring記事人気No2
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.3
Java&Spring記事人気No3
React
Reactの学習ロードマップ!初心者が最短で習得する流れを完全ガイド
No.4
Java&Spring記事人気No4
React
React Context APIのデバッグ方法を完全解説!React DevToolsで中身を丸見えにする方法
No.5
Java&Spring記事人気No5
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.6
Java&Spring記事人気No6
React
Reactでファイルアップロードを実装する方法を解説!Fetch APIで画像やPDFを送る仕組みを初心者向けに紹介
No.7
Java&Spring記事人気No7
React
React開発におすすめのVSCode拡張機能まとめ!初心者でもすぐ使える便利ツール紹介
No.8
Java&Spring記事人気No8
React
React Routerとは?シングルページアプリのルーティングを初心者向けにわかりやすく解説