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

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

条件付きレンダリングとアクセシビリティの関係
条件付きレンダリングとアクセシビリティの関係

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

生徒

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

先生

「Reactの条件分岐は、UIを状況に合わせて切り替えるときに欠かせない考え方ですね。」

生徒

「画面の見え方が人によって変わることもありますか?」

先生

「ありますよ。実は条件付きレンダリングはアクセシビリティとも深く関係します。今日はそのポイントも一緒に学んでいきましょう。」

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

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

Reactで条件分岐を行うときは、JavaScriptの構文をそのまま使います。たとえば、if文や三項演算子や論理演算子を使って、特定の条件を満たしたときだけコンポーネントを表示したり、逆に非表示にしたりできます。これは、画面を作るうえでとても重要な考え方で、ユーザーの状態や操作に応じて必要な情報だけを見せられるという大きなメリットがあります。また、Reactは仮想DOMという仕組みでUIの更新を最小限にしてくれるので、条件によって表示を変えても動作が重くなりにくいという特徴もあります。

2. 条件付きレンダリングとアクセシビリティの基本

2. 条件付きレンダリングとアクセシビリティの基本
2. 条件付きレンダリングとアクセシビリティの基本

アクセシビリティとは、年齢や体の状態に関係なく、できるだけ多くの人が使えるようにする考え方です。たとえば画面が見えにくい人がスクリーンリーダーという読み上げソフトを使う場合、Reactで要素を完全に非表示にする方法によっては読み上げられなくなることがあります。このとき、条件付きレンダリングが大きく関係します。たとえば要素そのものを削除すると、読み上げも行われませんが、CSSで見た目だけ隠すと読み上げられてしまいます。こうした仕組みを理解しておくと、ユーザーにとって使いやすい画面をつくることにつながります。

3. Reactで表示・非表示を切り替える書き方

3. Reactで表示・非表示を切り替える書き方
3. Reactで表示・非表示を切り替える書き方

Reactでは、特定の条件を満たしたときだけ表示したい場合、三項演算子という書き方がよく使われます。三項演算子とは、ある条件が真か偽かによって、表示する内容を切り替える書き方のことです。また、論理演算子の&&を使って「条件が正しいときだけ表示する」という方法もあります。それぞれの方法には使いどころがあるので、組み合わせて使えるようになると便利です。以下は三項演算子を使った例です。


function Example({ isLogin }) {
  return (
    <div>
      {isLogin ? <p>ログインしています</p> : <p>ログインしていません</p>}
    </div>
  );
}
(ログイン状態によって、メッセージが切り替わります)

4. アクセシビリティに配慮した条件付きレンダリングの考え方

4. アクセシビリティに配慮した条件付きレンダリングの考え方
4. アクセシビリティに配慮した条件付きレンダリングの考え方

Reactで条件付きレンダリングをするときは、単に「見えるか見えないか」だけでなく、「スクリーンリーダーでどう読み上げられるか」も意識することが大切です。要素そのものを描画しない場合、読み上げソフトはその存在を認識できません。これは説明文や案内メッセージを条件で切り替えるときに重要なポイントになります。たとえばボタンを押すと補助的なメッセージが出る構成の場合、そのメッセージを完全に削除すると読み上げられませんが、役割として必要な情報であれば適切に表示する必要があります。もし一時的に隠したいだけなら、CSSのvisibilityを使う方法もありますが、Reactのレンダリングの仕組みと相性を考えて実装することが大切です。

5. アクセシビリティ対応の実例

5. アクセシビリティ対応の実例
5. アクセシビリティ対応の実例

たとえばフォーム入力のエラーメッセージをReactで表示する場合、条件付きレンダリングを使うと、入力が間違っているときだけエラーを表示できます。ただし、要素を削除してしまうと読み上げソフトが内容を把握できなくなります。そこで、Reactでは状態に応じてメッセージをレンダリングし、必要なときにだけ要素を表示するとアクセシビリティに適した構成になります。次はエラーメッセージを表示するReactコードです。


function InputExample({ hasError }) {
  return (
    <div>
      <input type="text" />
      {hasError && <p role="alert">入力内容に誤りがあります</p>}
    </div>
  );
}
(エラーがあるときだけ「入力内容に誤りがあります」と表示されます)

ここで重要なのがrole="alert"という属性です。これは「重要なメッセージなので読み上げてほしい」という意味になります。こうした属性を必要に応じて付けることで、Reactの条件付きレンダリングとアクセシビリティを両立できます。

6. UIの切り替えとアクセシビリティの深い関係

6. UIの切り替えとアクセシビリティの深い関係
6. UIの切り替えとアクセシビリティの深い関係

Reactは状態によってUIを動的に切り替えられるのが大きな強みです。しかし切り替えた後の状態が必ずしもすべてのユーザーにとって理解しやすいとは限りません。たとえば、文章が突然消えると、見える人は変化に気づいても、読み上げソフトを使っている人は何が変わったのか把握しづらくなります。そのため、切り替えが発生したら読み上げが必要かどうかを考えて実装することがとても重要です。Reactでは、必要に応じてARIA属性という補助情報を追加することで、誰にとっても使いやすいUIに近づけられます。条件付きレンダリングは、単なる見た目の切り替えではなく、ユーザーへの情報提供の仕組み全体を考えるための重要なテクニックになります。

カテゴリの一覧へ
新着記事
New1
React
ReactのuseEffectでメモリリークを防ぐ方法!初心者でもわかるクリーンアップ関数の使い方
New2
React
Reactのリストレンダリングとは?map関数で配列を表示する方法を初心者向けに解説
New3
React
Reactのカスタムフックでデバウンス処理を実装する方法!初心者にもわかるステップ解説
New4
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
人気記事
No.1
Java&Spring記事人気No1
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.2
Java&Spring記事人気No2
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.3
Java&Spring記事人気No3
React
React開発におすすめのVSCode拡張機能まとめ!初心者でもすぐ使える便利ツール紹介
No.4
Java&Spring記事人気No4
React
ReactのPropsにデフォルト値を設定する方法を完全ガイド!初心者でもわかる型安全なProps管理
No.5
Java&Spring記事人気No5
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.6
Java&Spring記事人気No6
React
Reactで理解するuseStateのジェネリック型入門!型安全なState管理を初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
React
ReactのPropsでオブジェクト型を扱う方法を完全ガイド!初心者でもわかる型安全なProps管理
No.8
Java&Spring記事人気No8
React
ReactのPropsとStateのベストプラクティスを整理しよう!初心者でもわかる使い方ガイド