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

Reactでライブラリを使わないシンプルなフォーム実装!初心者でもわかるReactフォーム処理

ライブラリを使わないシンプルなフォーム実装
ライブラリを使わないシンプルなフォーム実装

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

生徒

「Reactでフォームを作ろうと調べたら、知らないライブラリがたくさん出てきました…」

先生

「最初は、ライブラリを使わずに仕組みを理解するのが大切ですね」

生徒

「Reactだけでフォームって作れるんですか?」

先生

「もちろんです。まずは一番シンプルなフォームから見ていきましょう」

1. Reactのフォーム処理とは何をしているのか

1. Reactのフォーム処理とは何をしているのか
1. Reactのフォーム処理とは何をしているのか

Reactのフォーム処理とは、入力欄に打ち込まれた文字や数字を、 プログラムの中で管理することです。

例えるなら、紙のアンケートに書いた内容を、 ノートに書き写して覚えておくようなイメージです。 Reactでは、この「覚えておく」役割を状態が担当します。

2. ライブラリを使わないフォーム実装の考え方

2. ライブラリを使わないフォーム実装の考え方
2. ライブラリを使わないフォーム実装の考え方

フォーム用の便利なライブラリはたくさんありますが、 仕組みを知らずに使うと、エラーが出たときに困ります。

まずはReactに元から用意されている機能だけで、 入力・表示・送信の流れを理解することが大切です。

3. 文字を入力するだけの一番シンプルなフォーム

3. 文字を入力するだけの一番シンプルなフォーム
3. 文字を入力するだけの一番シンプルなフォーム

ここでは、名前を入力して画面に表示するだけのフォームを作ります。 フォーム処理の基本がすべて詰まっています。


import React, { useState } from "react";

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

  return (
    <div>
      <input
        value={name}
        onChange={(e) => setName(e.target.value)}
      />
      <p>{name}</p>
    </div>
  );
}

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

onChangeは、入力が変わったことを知らせる合図です。 e.target.valueは、入力欄に書かれている中身を意味します。

4. ボタンを押して送信するフォームの基本

4. ボタンを押して送信するフォームの基本
4. ボタンを押して送信するフォームの基本

次は、ボタンを押したときに処理が動くフォームです。 フォーム送信は、箱に入れた手紙を渡すようなものです。


import React, { useState } from "react";

function App() {
  const [message, setMessage] = useState("");

  const handleSubmit = () => {
    alert(message);
  };

  return (
    <div>
      <input
        value={message}
        onChange={(e) => setMessage(e.target.value)}
      />
      <button onClick={handleSubmit}>送信</button>
    </div>
  );
}

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

handleSubmitは、送信時に実行したい処理をまとめた関数です。 処理に名前を付けることで、内容が分かりやすくなります。

5. 複数の入力欄を扱うシンプルな方法

5. 複数の入力欄を扱うシンプルな方法
5. 複数の入力欄を扱うシンプルな方法

フォームでは、名前やメールなど複数の入力欄を使うことが多いです。 それぞれを別の状態として管理します。


import React, { useState } from "react";

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

  return (
    <div>
      <input
        placeholder="名前"
        value={name}
        onChange={(e) => setName(e.target.value)}
      />
      <input
        placeholder="メール"
        value={email}
        onChange={(e) => setEmail(e.target.value)}
      />
      <p>{name}</p>
      <p>{email}</p>
    </div>
  );
}

export default App;
(それぞれの入力内容が画面に表示されます)

少しコードは増えますが、動きが分かりやすく、 初心者には理解しやすい書き方です。

6. フォーム送信時に画面を更新しない工夫

6. フォーム送信時に画面を更新しない工夫
6. フォーム送信時に画面を更新しない工夫

フォームを送信すると、画面が再読み込みされることがあります。 これを防ぐには、イベントの動きを止めます。


import React, { useState } from "react";

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

  const handleSubmit = (e) => {
    e.preventDefault();
    alert(text);
  };

  return (
    <form onSubmit={handleSubmit}>
      <input
        value={text}
        onChange={(e) => setText(e.target.value)}
      />
      <button type="submit">送信</button>
    </form>
  );
}

export default App;
(画面が切り替わらず、入力内容だけが表示されます)

preventDefaultは、もともとの動きを止めるための言葉です。 ブレーキのような役割を持っています。

7. ライブラリなしフォーム実装のメリット

7. ライブラリなしフォーム実装のメリット
7. ライブラリなしフォーム実装のメリット

ライブラリを使わないことで、 フォームの仕組みを一つずつ理解できます。

エラーが出たときも、どこで何が起きているかが分かりやすく、 修正しやすくなります。 Reactの基礎を固めるうえで、とても大切な経験になります。

カテゴリの一覧へ
新着記事
New1
Next.js
Next.js Server ComponentsがSEOに強い理由を完全解説!初心者でもわかるNext.jsの仕組み
New2
React
ReactのPropsとStateでよくあるエラーと解決方法まとめ!初心者向け解説
New3
React
Reactでファイルアップロードを実装する方法を解説!Fetch APIで画像やPDFを送る仕組みを初心者向けに紹介
New4
React
Reactでライブラリを使わないシンプルなフォーム実装!初心者でもわかるReactフォーム処理
人気記事
No.1
Java&Spring記事人気No1
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.3
Java&Spring記事人気No3
React
ReactのuseEffectで初回のみ処理を実行する方法を徹底解説!初心者でもわかるReactフック入門
No.4
Java&Spring記事人気No4
React
ReactのuseEffect依存配列を徹底解説!初心者でも理解できるDependency Arrayの仕組み
No.5
Java&Spring記事人気No5
Next.js
Next.jsとは?Reactとの関係を初心者向けにやさしく解説|Next.jsの基本概念と特徴
No.6
Java&Spring記事人気No6
React
Reactのフォーム入力値を初期化する方法を完全解説!初心者でもわかるリセット処理
No.7
Java&Spring記事人気No7
React
useEffectでクリーンアップ関数を使う方法をやさしく解説
No.8
Java&Spring記事人気No8
React
React開発におすすめのVSCode拡張機能まとめ!初心者でもすぐ使える便利ツール紹介