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

Reactのフォーム処理の基本を完全ガイド!初心者でもわかるReactフォーム入門

Reactにおけるフォーム処理の基本を初心者向けに解説
Reactにおけるフォーム処理の基本を初心者向けに解説

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

生徒

「Reactで文字を入力するフォームって作れるんですか?」

先生

「作れますよ。Reactではフォーム処理がとても大切です。」

生徒

「HTMLと同じように書けばいいんですか?」

先生

「似ていますが、Reactならではの考え方があります。ゆっくり見ていきましょう。」

1. Reactのフォーム処理とは何か?

1. Reactのフォーム処理とは何か?
1. Reactのフォーム処理とは何か?

Reactのフォーム処理とは、画面に表示された入力欄に文字を書いたり、ボタンを押したりした内容を、 プログラムで受け取って使う仕組みのことです。たとえば名前入力、ログイン画面、検索ボックスなどは、 すべてフォーム処理を使っています。

フォームとは「入力する場所」という意味です。紙のアンケートに名前を書くイメージをすると分かりやすいでしょう。 Reactでは、その入力内容をコンピューターが覚えて、あとで使えるようにします。

2. なぜReactではフォーム処理が重要なのか

2. なぜReactではフォーム処理が重要なのか
2. なぜReactではフォーム処理が重要なのか

Reactは画面の表示を管理する仕組みです。フォームで入力された内容も画面の一部なので、 Reactがしっかり管理する必要があります。入力された文字を覚えておかないと、 ボタンを押したときに何も分からなくなってしまいます。

例えるなら、先生が黒板に書いた内容をノートに書き写すようなものです。 ノートに書いておかないと、あとで思い出せません。Reactではその「ノート」が状態と呼ばれます。

3. useStateを使った基本的な入力フォーム

3. useStateを使った基本的な入力フォーム
3. useStateを使った基本的な入力フォーム

Reactのフォーム処理では、useStateという仕組みをよく使います。 useStateは「今の状態を覚える箱」のようなものです。 入力された文字をこの箱に入れておくことで、いつでも取り出せます。


import React, { useState } from "react";

function App() {
  const [name, setName] = useState("");

  return (
    <div>
      <input
        type="text"
        value={name}
        onChange={(e) => setName(e.target.value)}
      />
      <p>あなたの名前は:{name}</p>
    </div>
  );
}

export default App;
(文字を入力すると、その内容がそのまま画面に表示されます)

4. onChangeとは何をしているのか

4. onChangeとは何をしているのか
4. onChangeとは何をしているのか

onChangeは「変わったときに動くスイッチ」です。 キーボードで文字を一文字打つたびに反応します。 Reactでは、このタイミングで入力内容を受け取ります。

難しく感じる場合は、インターホンを想像してください。 ボタンが押された瞬間に音が鳴るように、入力が変わった瞬間にReactが気づく仕組みです。

5. ボタンを使ったフォーム送信の考え方

5. ボタンを使ったフォーム送信の考え方
5. ボタンを使ったフォーム送信の考え方

フォームでは、入力するだけでなく「送信」もよく行います。 Reactではボタンが押されたときの動作を自分で決めます。 これにより、入力内容を確認したり、画面表示を変えたりできます。


import React, { useState } from "react";

function App() {
  const [text, setText] = useState("");

  const handleClick = () => {
    alert(text);
  };

  return (
    <div>
      <input
        value={text}
        onChange={(e) => setText(e.target.value)}
      />
      <button onClick={handleClick}>送信</button>
    </div>
  );
}

export default App;
(入力した文字が、ボタンを押すとアラートで表示されます)

6. 複数の入力欄を扱うフォーム

6. 複数の入力欄を扱うフォーム
6. 複数の入力欄を扱うフォーム

実際のフォームでは、入力欄が一つだけとは限りません。 名前やメールアドレスなど、複数の情報を入力します。 Reactでは、それぞれを別の状態として管理します。


import React, { useState } from "react";

function App() {
  const [email, setEmail] = useState("");
  const [password, setPassword] = useState("");

  return (
    <div>
      <input
        type="email"
        placeholder="メール"
        value={email}
        onChange={(e) => setEmail(e.target.value)}
      />
      <input
        type="password"
        placeholder="パスワード"
        value={password}
        onChange={(e) => setPassword(e.target.value)}
      />
    </div>
  );
}

export default App;
(それぞれの入力欄に文字を入れると、Reactが別々に内容を覚えます)

7. フォーム処理で初心者がつまずきやすい点

7. フォーム処理で初心者がつまずきやすい点
7. フォーム処理で初心者がつまずきやすい点

初心者がよく困るのは、入力しても文字が表示されないケースです。 これはvalueとonChangeが正しく書かれていない場合に起こります。

また、Reactでは自分で管理する入力欄が基本です。 そのため「Reactに覚えさせる」という意識を持つことが大切です。 ノートに書くように、必ず状態に保存しましょう。

関連記事:

関連記事なし

カテゴリの一覧へ
新着記事
New1
React
Reactで複数イベントをまとめて処理!共通関数化でコード整理
New2
React
Reactでイベントバブリングとキャプチャリングを理解!初心者向けイベントハンドリング解説
New3
React
Reactのフォーム処理の基本を完全ガイド!初心者でもわかるReactフォーム入門
New4
React
Reactでライフサイクルを利用したイベントリスナー管理を初心者向けに解説!
人気記事
No.1
Java&Spring記事人気No1
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.2
Java&Spring記事人気No2
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.3
Java&Spring記事人気No3
Next.js
Next.jsのappディレクトリの役割を完全解説!初心者でもわかるApp Router入門
No.4
Java&Spring記事人気No4
React
ReactのPropsを使ってコンポーネントの表示を動的に切り替える方法を解説!初心者でもわかるReact入門
No.5
Java&Spring記事人気No5
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.6
Java&Spring記事人気No6
React
ReactのuseStateとuseEffectでよくあるエラーと解決方法ガイド!初心者でもわかるReactフック
No.7
Java&Spring記事人気No7
React
useEffectでクリーンアップ関数を使う方法をやさしく解説
No.8
Java&Spring記事人気No8
React
Reactの環境構築とは?初心者でもできるセットアップ手順まとめ