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

Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐

コンポーネントを条件付きで非表示にする方法
コンポーネントを条件付きで非表示にする方法

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

生徒

「Reactで条件分岐ってできますか?」

先生

「Reactの条件分岐は、コンポーネントを非表示にすることにも使えますよ。」

生徒

「非表示ってどうやるんですか?HTMLみたいにdisplay:noneとは違う感じですか?」

先生

「Reactでは“表示するかしないか”をJavaScriptの条件分岐で切り替えられます。実際の書き方を見ていきましょう。」

1. Reactで条件分岐するには?

1. Reactで条件分岐するには?
1. Reactで条件分岐するには?

Reactでは、特定の状態や値によって画面に表示する内容を切り替えることができます。プログラミング未経験の人は、難しく感じるかもしれませんが、Reactの条件分岐は基本的に「表示したいときだけそのコンポーネントをreturnする」仕組みです。つまり、HTMLのようにスタイルで隠すのではなく、最初から存在させないという考え方になります。Reactの条件分岐には、論理演算子を使った方法、三項演算子を使う方法、関数内でif文を使う方法などがあり、今回のテーマのような非表示処理にも応用できます。

2. コンポーネントを条件付きで非表示にする基本

2. コンポーネントを条件付きで非表示にする基本
2. コンポーネントを条件付きで非表示にする基本

Reactでコンポーネントを隠す最もシンプルな方法は、「falseを返すとその部分が表示されない」という仕組みを利用することです。例えば、操作ボタンを押したときだけ表示されるメッセージなどがその典型例です。HTMLのようにdisplay:noneを使う方法もありますが、Reactでは不要なコンポーネントを最初からDOMに追加しない書き方が一般的です。DOMとは、ブラウザが実際に表示するための要素の構造のことで、これが少ないほど高速で軽く動作します。そのため、初心者の方でもReactでは「条件が合わないときは出さない」という考え方に慣れていくと便利です。

3. 条件付きでコンポーネントを非表示にするサンプル

3. 条件付きでコンポーネントを非表示にするサンプル
3. 条件付きでコンポーネントを非表示にするサンプル

次の例では、ボタンを押すと表示されていたメッセージが消える動きを作っています。このようにReactでは条件式を書くだけで、画面に表示されるかどうかを自然に切り替えることができます。実際の動きを確認しながら、どの部分が非表示をコントロールしているのか見てみましょう。


import React, { useState } from "react";

function App() {
  const [visible, setVisible] = useState(true);

  return (
    <div>
      {visible && <p>このメッセージは表示切替できます</p>}

      <button onClick={() => setVisible(false)}>
        非表示にする
      </button>
    </div>
  );
}

export default App;
(最初はメッセージが表示されており、ボタンを押すとメッセージが画面から消えます)

4. 三項演算子で非表示を切り替える方法

4. 三項演算子で非表示を切り替える方法
4. 三項演算子で非表示を切り替える方法

Reactでは、if文以外に三項演算子を使って表示内容を切り替えることができます。三項演算子とは、「条件 ? A : B」という書き方で、条件がtrueならA、falseならBを返します。プログラミング経験がない人でも、慣れてしまえば短いコードでわかりやすく書ける方法です。この方法を使うと、表示するパターンが複数あるときにも対応しやすくなります。


import React, { useState } from "react";

function App() {
  const [show, setShow] = useState(true);

  return (
    <div>
      {show ? <p>表示中です</p> : null}

      <button onClick={() => setShow(!show)}>
        表示切替
      </button>
    </div>
  );
}

export default App;
(ボタンを押すたびに「表示中です」の文字が出たり消えたりします)

5. 関数内での条件分岐で非表示を管理する例

5. 関数内での条件分岐で非表示を管理する例
5. 関数内での条件分岐で非表示を管理する例

もう少し複雑な処理をしたい場合、コンポーネント内でif文を使って表示する内容を切り替える方法もあります。例えば、ユーザーが入力した値によって特定のコンポーネントだけを表示する場合などはif文が役立ちます。初心者の方でも、普段の会話の「もし〜なら〜する」という感覚で書けるので自然な書き方になります。ReactのコンポーネントはJavaScriptの関数なので、if文を使ってreturnする内容を変えられるというわけです。


import React, { useState } from "react";

function App() {
  const [flag, setFlag] = useState(false);

  let message = null;
  if (flag) {
    message = <div>特別メッセージが表示されます</div>;
  }

  return (
    <div>
      {message}

      <button onClick={() => setFlag(!flag)}>
        切り替える
      </button>
    </div>
  );
}

export default App;
(ボタンを押すと特別メッセージが出たり消えたりします)

6. display:noneを使う場合との違い

6. display:noneを使う場合との違い
6. display:noneを使う場合との違い

HTMLやCSSに慣れている人は、非表示と言えば「display:none」を思い浮かべることが多いと思います。しかしReactではコンポーネントを表示しないときは「最初から存在させない」方法が推奨されます。display:noneは画面には出ませんが、DOM上には存在し続けます。一方Reactの条件分岐でfalseを返す方法であれば、DOMに無駄な要素が残らないため、動作が軽くなり管理も簡単になります。初心者の方でも、Reactでは見せないものはDOMに置かないという考えに慣れておくと、今後の学習がスムーズになります。

カテゴリの一覧へ
新着記事
New1
React
Reactコンポーネントの再利用と分割を完全マスター!初心者でもわかるコンポーネント設計
New2
React
ReactでAxiosインターセプターの使い方を完全ガイド!初心者でもわかるリクエストとレスポンスの処理方法
New3
React
JSXの書き方!初心者でもわかるReactタグと属性の基本ルール解説
New4
React
ReactとDockerを使った開発環境構築の基本を徹底解説!初心者でもわかるReactとDockerの連携方法
人気記事
No.1
Java&Spring記事人気No1
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.3
Java&Spring記事人気No3
React
Reactのイベントハンドリングのアンチパターンまとめ!初心者でもわかる注意点
No.4
Java&Spring記事人気No4
React
ReactでFetch APIのローディング状態を管理する方法|初心者にもわかる解説
No.5
Java&Spring記事人気No5
React
Reactのカスタムフックの作り方を完全ガイド!再利用可能なロジックを切り出す仕組み
No.6
Java&Spring記事人気No6
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.7
Java&Spring記事人気No7
React
Reactのフォーム処理でよくあるエラーと解決法を完全解説!初心者でも安心して学べるReact入門
No.8
Java&Spring記事人気No8
React
Reactでファイルアップロードを実装する方法を解説!Fetch APIで画像やPDFを送る仕組みを初心者向けに紹介