カテゴリ: React 更新日: 2025/12/26

Reactのイベントオブジェクト(event)の使い方とよく使うプロパティを初心者向けに解説

イベントオブジェクト(event)の使い方とよく使うプロパティ
イベントオブジェクト(event)の使い方とよく使うプロパティ

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

生徒

「Reactでボタンや入力フォームを操作したときに情報を取得するにはどうしたらいいですか?」

先生

「Reactでは、イベントが発生したときに自動で渡されるeventというオブジェクトを使います。」

生徒

「イベントオブジェクトって何ですか?」

先生

「イベントオブジェクトは、ユーザーがクリックしたり入力したりした情報をまとめた箱のようなものです。例えばクリックした要素や入力された文字、キー操作などの情報を持っています。」

生徒

「具体的にどんな情報が取れるんですか?」

先生

「それでは、よく使うプロパティを含めて例を見てみましょう。」

1. onClickイベントでeventオブジェクトを使う例

1. onClickイベントでeventオブジェクトを使う例
1. onClickイベントでeventオブジェクトを使う例

Reactでボタンをクリックしたときにeventオブジェクトを使って情報を取得する基本例です。


import React from "react";

function App() {
  function handleClick(event) {
    alert("クリックされたボタンのタイプ: " + event.type);
    console.log("クリック位置: ", event.clientX, event.clientY);
  }

  return (
    <div>
      <button onClick={handleClick}>クリックしてみよう</button>
    </div>
  );
}

export default App;
(ボタンをクリックすると、alertでクリックされたイベントの種類が表示され、コンソールにクリック位置が出力されます)

この例ではevent.typeでイベントの種類(ここではクリック)を取得し、event.clientXevent.clientYでマウスのクリック位置を取得しています。

2. onChangeイベントでeventオブジェクトを使う例

2. onChangeイベントでeventオブジェクトを使う例
2. onChangeイベントでeventオブジェクトを使う例

入力フォームでeventを使うと、ユーザーが入力した文字を取得できます。


import React, { useState } from "react";

function App() {
  const [value, setValue] = useState("");

  function handleChange(event) {
    setValue(event.target.value);
    console.log("入力された値:", event.target.value);
  }

  return (
    <div>
      <input
        type="text"
        placeholder="文字を入力してください"
        value={value}
        onChange={handleChange}
      />
      <p>入力内容: {value}</p>
    </div>
  );
}

export default App;
(入力フォームに文字を入力すると、下に入力内容が表示され、consoleに入力値も表示されます)

ここで重要なのはevent.target.valueです。targetはイベントが発生した要素、valueはその要素の現在の値を示します。

3. eventオブジェクトでよく使うプロパティ一覧

3. eventオブジェクトでよく使うプロパティ一覧
3. eventオブジェクトでよく使うプロパティ一覧

Reactのイベントオブジェクトでよく使うプロパティをまとめます。どれも入力やクリックの処理で頻繁に使うものです。

  • event.target - イベントが発生した要素
  • event.target.value - 入力フォームの値
  • event.type - 発生したイベントの種類(click, changeなど)
  • event.clientX / event.clientY - マウスの位置
  • event.preventDefault() - デフォルトの動作を止める(リンクの遷移やフォーム送信の停止など)
  • event.stopPropagation() - イベントのバブリングを止める(親要素に伝わらないようにする)

これらのプロパティを理解すると、クリックや入力などのユーザー操作を自在に扱えるようになります。

4. 実践的な使い方のポイント

4. 実践的な使い方のポイント
4. 実践的な使い方のポイント

eventオブジェクトは、ユーザー操作の詳細情報を取得するための基本ツールです。ポイントとしては、targetで操作された要素を特定し、valuetypeで内容や種類を取得することです。また、preventDefaultstopPropagationを必要に応じて使うことで、意図しない画面遷移やイベント伝播を防ぐことができます。

特にフォーム入力やボタン操作など日常的なUI操作では、このeventオブジェクトを理解しておくと、動的で使いやすいReactアプリを作ることができます。

まとめ

まとめ
まとめ

今回の記事では、Reactにおけるイベントオブジェクト(event)の基本的な使い方と、よく使われるプロパティについて解説しました。Reactのイベントオブジェクトは、ボタンのクリックや入力フォームの変更など、ユーザーが行う操作に対して自動で渡される情報の塊です。event.typeでイベントの種類を判定し、event.targetで操作された要素を特定、event.target.valueで入力された値を取得できます。これにより、ユーザーインターフェースの状態を動的に更新し、インタラクティブなReactアプリを作ることが可能になります。

また、ReactではpreventDefault()stopPropagation()といったメソッドを活用することで、意図しない画面遷移やイベントの伝播を防ぐことができます。特にフォーム送信やリンククリックなど、デフォルト動作が発生する場面でこれらを使うことは非常に重要です。さらに、onClickonChangeなどのキャメルケースのイベント名を正しく書くことも、Reactでイベント処理を正確に動かすための基本です。

ここで紹介したサンプルプログラムのように、関数を別に定義してonClickonChangeに渡す方法は、コードの可読性や保守性を高めるためにおすすめです。小規模な処理なら関数を直接書く方法でも問題ありませんが、複雑な処理や複数のイベント処理がある場合は、関数を分離することでコードが整理され、バグを防ぎやすくなります。

サンプルプログラムで復習

import React, { useState } from "react";

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

  function handleClick(event) {
    alert("クリックされたイベントの種類: " + event.type);
    console.log("クリック位置: ", event.clientX, event.clientY);
    setMessage("ボタンがクリックされました!");
  }

  function handleChange(event) {
    setInputText(event.target.value);
    console.log("入力された値:", event.target.value);
  }

  return (
    <div>
      <button onClick={handleClick}>クリックしてみよう</button>
      <p>{message}</p>
      <input
        type="text"
        value={inputText}
        placeholder="文字を入力してください"
        onChange={handleChange}
      />
      <p>入力内容: {inputText}</p>
    </div>
  );
}

export default App;
先生と生徒の振り返り会話

生徒

「Reactのeventオブジェクトで、クリックした場所や入力された値を簡単に取得できることがわかりました。」

先生

「そうですね。event.typeでイベントの種類を確認し、event.clientXevent.clientYでマウス位置を取得できるのがポイントです。また、フォーム入力ではevent.target.valueを使って値を取得できます。」

生徒

preventDefault()stopPropagation()も使うと、予期せぬ動作を防げるんですね。」

先生

「その通りです。特にフォーム送信やリンククリックなどで活用することで、ユーザー体験をコントロールできます。Reactのイベント処理の基本を理解しておくと、インタラクティブで使いやすいアプリを作ることができます。」

生徒

「関数を分けて書く方法と直接書く方法も使い分けると、コードが整理されて見やすくなりますね。」

先生

「そうです。Reactのイベントオブジェクトと状態管理の組み合わせを理解すると、クリック、入力、フォーム操作など、ユーザーのあらゆる操作に柔軟に対応できるようになります。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Reactのeventオブジェクトとは何ですか?

Reactのeventオブジェクトとは、ボタンのクリックや入力フォームの操作など、ユーザーのイベントが発生したときに自動的に渡される情報のまとまりです。
カテゴリの一覧へ
新着記事
New1
React
Reactで再利用可能なリスト表示コンポーネントを実装しよう!初心者でもわかるReactのコンポーネント分割
New2
React
ReactのPropsとStateのベストプラクティスを整理しよう!初心者でもわかる使い方ガイド
New3
Next.js
Next.jsのRoute Groupの使い方を完全ガイド!App Routerでフォルダ構成を整理する方法
New4
Next.js
Next.js App Routerのtemplate.tsxの役割を完全解説!初心者でも理解できるレイアウト管理の基本
人気記事
No.1
Java&Spring記事人気No1
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説
No.2
Java&Spring記事人気No2
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.3
Java&Spring記事人気No3
React
ReactのPresentational Componentを完全ガイド!初心者でもわかるStateを持たないコンポーネントの特徴
No.4
Java&Spring記事人気No4
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.5
Java&Spring記事人気No5
Next.js
Next.js Server Componentsのメリット・デメリットを完全解説!初心者でもわかるNext.jsの基本
No.6
Java&Spring記事人気No6
React
ReactでAxiosローディング状態を管理する方法を完全ガイド!初心者でもわかる非同期通信の基本
No.7
Java&Spring記事人気No7
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.8
Java&Spring記事人気No8
React
ReactでuseStateを使ったオブジェクト・配列の扱い方完全ガイド!初心者でもわかるReactフック