カテゴリ: 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
React
Reactのフォーム入力を再利用しよう!初心者でもわかるフィールドコンポーネント化の考え方
New2
React
Reactでできること一覧!初心者でもわかるWebアプリ・スマホアプリ・PWAの活用方法
New3
React
React.jsが人気な理由!VueやAngularとの違いを初心者向けに徹底比較
New4
Next.js
Next.js×StorybookでUI開発環境を整える方法!初心者でもわかるNext.jsの環境構築
人気記事
No.1
Java&Spring記事人気No1
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説
No.2
Java&Spring記事人気No2
React
ReactのPresentational Componentを完全ガイド!初心者でもわかるStateを持たないコンポーネントの特徴
No.3
Java&Spring記事人気No3
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.4
Java&Spring記事人気No4
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.5
Java&Spring記事人気No5
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.6
Java&Spring記事人気No6
Next.js
Next.js Server Componentsのメリット・デメリットを完全解説!初心者でもわかるNext.jsの基本
No.7
Java&Spring記事人気No7
React
Reactのカードコンポーネントを汎用的に設計する方法!初心者でもわかる再利用の考え方
No.8
Java&Spring記事人気No8
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介