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

Reactのリストとキーを完全理解!フィルタリングした配列をリスト表示する方法

フィルタリングした配列をリスト表示する方法
フィルタリングした配列をリスト表示する方法

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

生徒

「Reactでリストを表示することはできるようになったんですが、条件で絞り込むこともできますか?」

先生

「できます。配列をフィルタリングしてから表示する方法があります」

生徒

「フィルタリングって難しそうな言葉ですね…」

先生

「大丈夫です。不要なものを取り除く、という意味で考えると分かりやすいですよ」

1. 配列とリスト表示の基本をおさらい

1. 配列とリスト表示の基本をおさらい
1. 配列とリスト表示の基本をおさらい

Reactでリストを表示するときは、 配列というデータのまとまりを使います。

配列とは、 同じ種類の情報を順番に並べた箱のようなものです。 買い物リストや、 名前の一覧を思い浮かべると理解しやすいです。

Reactでは、 この配列の中身を画面に並べることで、 リスト表示を実現しています。

2. フィルタリングとは何か

2. フィルタリングとは何か
2. フィルタリングとは何か

フィルタリングとは、 条件に合うものだけを残す操作のことです。

例えば、 たくさんある果物の中から、 りんごだけを選び出すようなイメージです。

プログラムでは、 配列の中身を確認して、 必要なものだけを新しい配列として取り出します。

3. filterの考え方をやさしく理解

3. filterの考え方をやさしく理解
3. filterの考え方をやさしく理解

filterは、 配列から条件に合う要素だけを集める仕組みです。

難しい言葉に聞こえますが、 「これは残す」「これは除く」と 一つずつ確認していくだけです。

Reactでは、 filterとリスト表示を組み合わせることで、 動的に表示内容を変えられます。

4. フィルタリングしてリスト表示する基本例

4. フィルタリングしてリスト表示する基本例
4. フィルタリングしてリスト表示する基本例

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

  const evenNumbers = numbers.filter(number => number % 2 === 0);

  return (
    <ul>
      {evenNumbers.map(number => (
        <li key={number}>{number}</li>
      ))}
    </ul>
  );
}
(偶数だけがリストとして表示されます)

この例では、 数字の中から偶数だけを選び、 それをリストとして表示しています。

5. 文字列を条件で絞り込む例

5. 文字列を条件で絞り込む例
5. 文字列を条件で絞り込む例

数字だけでなく、 文字の配列もフィルタリングできます。

例えば、 名前の中から特定の文字を含むものだけを 表示することも可能です。


function App() {
  const names = ["たろう", "はなこ", "じろう", "さくら"];

  const filteredNames = names.filter(name => name.includes("ろう"));

  return (
    <ul>
      {filteredNames.map(name => (
        <li key={name}>{name}</li>
      ))}
    </ul>
  );
}
(「ろう」が含まれる名前だけが表示されます)

6. 入力内容でリストを絞り込む考え方

6. 入力内容でリストを絞り込む考え方
6. 入力内容でリストを絞り込む考え方

実際の画面では、 ユーザーの入力に応じて 表示を変えることがよくあります。

入力された文字を条件として、 配列をフィルタリングすると、 検索のような動きになります。


import React, { useState } from "react";

function App() {
  const [keyword, setKeyword] = useState("");
  const items = ["りんご", "みかん", "ばなな", "ぶどう"];

  const filteredItems = items.filter(item =>
    item.includes(keyword)
  );

  return (
    <div>
      <input
        value={keyword}
        onChange={e => setKeyword(e.target.value)}
      />
      <ul>
        {filteredItems.map(item => (
          <li key={item}>{item}</li>
        ))}
      </ul>
    </div>
  );
}

export default App;
(入力した文字に合う果物だけが表示されます)

7. フィルタリングとkeyの関係

7. フィルタリングとkeyの関係
7. フィルタリングとkeyの関係

フィルタリングして表示する場合でも、 keyは必ず必要です。

keyは、 Reactがどの行を表示しているかを 正しく判断するための目印です。

フィルタリングで表示数が変わっても、 keyが安定していれば、 表示が崩れることはありません。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

よくある間違いは、 filterの結果を使わずに、 元の配列をそのまま表示してしまうことです。

必ず、 フィルタリングした新しい配列を リスト表示に使うようにしましょう。

処理の流れを 頭の中で順番に追うことが大切です。

9. フィルタリングはリスト表示の応用

9. フィルタリングはリスト表示の応用
9. フィルタリングはリスト表示の応用

フィルタリングは、 リスト表示の応用ですが、 特別に難しいものではありません。

「必要なものだけを選ぶ」 という考え方を身につけると、 Reactの画面作りが ぐっと分かりやすくなります。

カテゴリの一覧へ
新着記事
New1
React
Reactで再利用可能なリスト表示コンポーネントを実装しよう!初心者でもわかるReactのコンポーネント分割
New2
React
ReactのPropsとStateのベストプラクティスを整理しよう!初心者でもわかる使い方ガイド
New3
Next.js
Next.jsのRoute Groupの使い方を完全ガイド!App Routerでフォルダ構成を整理する方法
New4
Next.js
Next.js App Routerのtemplate.tsxの役割を完全解説!初心者でも理解できるレイアウト管理の基本
人気記事
No.1
Java&Spring記事人気No1
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説
No.2
Java&Spring記事人気No2
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.3
Java&Spring記事人気No3
React
ReactのPresentational Componentを完全ガイド!初心者でもわかるStateを持たないコンポーネントの特徴
No.4
Java&Spring記事人気No4
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.5
Java&Spring記事人気No5
Next.js
Next.js Server Componentsのメリット・デメリットを完全解説!初心者でもわかるNext.jsの基本
No.6
Java&Spring記事人気No6
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.7
Java&Spring記事人気No7
React
ReactでAxiosローディング状態を管理する方法を完全ガイド!初心者でもわかる非同期通信の基本
No.8
Java&Spring記事人気No8
React
ReactでuseStateを使ったオブジェクト・配列の扱い方完全ガイド!初心者でもわかるReactフック