カテゴリ: React 更新日: 2026/02/10

Reactのラジオボタン選択を完全解説!初心者でもわかるReactフォーム処理

ラジオボタンの選択を管理する方法
ラジオボタンの選択を管理する方法

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

生徒

「Reactでラジオボタンを使いたいんですが、選ばれた値はどうやって覚えるんですか?」

先生

「ラジオボタンは一つだけ選ぶ入力方法なので、今どれが選ばれているかを状態として管理します。」

生徒

「チェックボックスとは違うんですか?」

先生

「はい。ラジオボタンは一つだけ選ぶ点が特徴なので、その考え方を一緒に見ていきましょう。」

1. ラジオボタンとはどんな入力方法か

1. ラジオボタンとはどんな入力方法か
1. ラジオボタンとはどんな入力方法か

ラジオボタンは、いくつかの選択肢の中から一つだけを選ぶ入力方法です。 性別の選択や支払い方法の選択などで、丸いボタンを見たことがあると思います。 一度選ぶと、他を選んだ瞬間に前の選択は外れます。 この「一つだけ」という特徴が、Reactで管理するときの大事なポイントになります。

2. Reactのフォーム処理と状態管理の考え方

2. Reactのフォーム処理と状態管理の考え方
2. Reactのフォーム処理と状態管理の考え方

Reactでは、入力された内容をそのまま使うのではなく、 状態という仕組みで管理します。 状態とは、今の選択結果をメモしておく箱のようなものです。 ラジオボタンの場合は、「どの項目が選ばれているか」を 文字で覚えておくことが多いです。 これにより、画面とデータが常に同じ内容になります。

3. useStateでラジオボタンを管理する基本

3. useStateでラジオボタンを管理する基本
3. useStateでラジオボタンを管理する基本

ReactではuseStateを使って状態を作ります。 難しい言葉に見えますが、「覚えておく場所を用意する」と考えてください。 ラジオボタンが選ばれたら、その内容を書き換えます。


import React, { useState } from "react";

function App() {
  const [gender, setGender] = useState("");

  return (
    <div>
      <label>
        <input
          type="radio"
          name="gender"
          value="男性"
          checked={gender === "男性"}
          onChange={(e) => setGender(e.target.value)}
        />
        男性
      </label>
      <label>
        <input
          type="radio"
          name="gender"
          value="女性"
          checked={gender === "女性"}
          onChange={(e) => setGender(e.target.value)}
        />
        女性
      </label>
    </div>
  );
}

export default App;
(選択したラジオボタンだけがオンになります)

4. 選択結果を文字で表示してみよう

4. 選択結果を文字で表示してみよう
4. 選択結果を文字で表示してみよう

状態に保存した選択結果は、画面に表示できます。 これは、アンケート用紙に丸を付けて、 その結果を読み上げるようなイメージです。 今どれが選ばれているかが、すぐに確認できます。


import React, { useState } from "react";

function App() {
  const [color, setColor] = useState("");

  return (
    <div>
      <label>
        <input
          type="radio"
          name="color"
          value="赤"
          onChange={(e) => setColor(e.target.value)}
        />
        赤
      </label>
      <label>
        <input
          type="radio"
          name="color"
          value="青"
          onChange={(e) => setColor(e.target.value)}
        />
        青
      </label>
      <p>選択中:{color}</p>
    </div>
  );
}

export default App;
(選んだ色が文字で表示されます)

5. 初期値を設定する方法

5. 初期値を設定する方法
5. 初期値を設定する方法

最初から一つ選ばれた状態にしたい場合もあります。 その場合は、状態の最初の値を設定します。 あらかじめ丸が付いているアンケート用紙と同じ考え方です。


import React, { useState } from "react";

function App() {
  const [payment, setPayment] = useState("現金");

  return (
    <div>
      <label>
        <input
          type="radio"
          name="pay"
          value="現金"
          checked={payment === "現金"}
          onChange={(e) => setPayment(e.target.value)}
        />
        現金
      </label>
      <label>
        <input
          type="radio"
          name="pay"
          value="カード"
          checked={payment === "カード"}
          onChange={(e) => setPayment(e.target.value)}
        />
        カード
      </label>
    </div>
  );
}

export default App;
(最初から「現金」が選択されています)

6. ラジオボタンで必ずそろえるname属性

6. ラジオボタンで必ずそろえるname属性
6. ラジオボタンで必ずそろえるname属性

ラジオボタンでは、nameという設定がとても重要です。 同じnameを付けることで、「一つだけ選ぶ」動きになります。 これは、同じグループの選択肢だと伝える目印です。 Reactでも、この基本ルールは変わりません。

7. 初心者がつまずきやすい注意点

7. 初心者がつまずきやすい注意点
7. 初心者がつまずきやすい注意点

よくある失敗は、checkedを使わずに値だけを管理しようとすることです。 Reactでは、状態と画面を必ずつなげます。 そうすることで、選択がずれたり、 画面と中身が違う状態になるのを防げます。 ラジオボタンは「状態で管理する」が基本だと覚えておくと安心です。

カテゴリの一覧へ
新着記事
New1
Next.js
Next.jsではnpmとyarnどちらを使うべき?初心者でも迷わない完全比較ガイド
New2
React
ReactのuseEffectでWebSocketを利用する方法を初心者向けに解説
New3
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
New4
React
Reactのラジオボタン選択を完全解説!初心者でもわかるReactフォーム処理
人気記事
No.1
Java&Spring記事人気No1
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.2
Java&Spring記事人気No2
React
ReactのPropsを使ってコンポーネントの表示を動的に切り替える方法を解説!初心者でもわかるReact入門
No.3
Java&Spring記事人気No3
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.4
Java&Spring記事人気No4
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.5
Java&Spring記事人気No5
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.6
Java&Spring記事人気No6
React
ReactのuseStateとuseEffectでよくあるエラーと解決方法ガイド!初心者でもわかるReactフック
No.7
Java&Spring記事人気No7
React
Reactの環境構築とは?初心者でもできるセットアップ手順まとめ
No.8
Java&Spring記事人気No8
React
Reactで複数イベントをまとめて処理!共通関数化でコード整理