blogreact005

ボタンが踊り出す!イベント処理|第5回 React入門

著者: 管理者 / 2025-08-21 (更新: 2025-08-21)

導入

前回は「Props」を使ってコンポーネント同士が“親子の会話”をする方法を学びましたわね。
今回はいよいよ――コンポーネントが 動き出す瞬間、「イベント処理」について学びます。

紅茶を注ぐとカップに波紋が広がるように、ユーザーの操作がReactアプリに影響を与える……その仕組みを覗いてみましょう☕✨

前回の記事 コンポーネント同士の会話 ― Propsとは?|React入門 第4回コンポーネント同士の会話 ― Propsとは?|React入門 第4回


user01 Surprised
先生……!ボタンを押すと画面が変わるあの魔法……。
Reactではどのように実現されているのですの?
user02 Calm
良いご質問です。
Reactでは イベントハンドラ を使って、ユーザーの操作に反応させるのです。
クリックや入力、マウスの動きまで――すべてイベントで扱えるのですよ。

1. イベント処理の基本

📝 解説

  • イベント = ユーザーの操作(クリック・入力など)
  • イベントハンドラ = その操作に応じて呼び出される関数

👉 ボタンに「押されたらこの関数を実行してね」と渡してあげる仕組みです。


user01 Happy
まあ!ボタンに“お願いごと”を渡しているみたいですわね✨
「押されたら、これをしてちょうだい」と。

2. Reactのイベントの書き方

📝 解説(コード例)

function App() {
  function handleClick() {
    alert("ボタンが押されました!");
  }

  return (
    <button onClick={handleClick}>
      わたくしを押してくださいませ♪
    </button>
  );
}
  • onClick={handleClick} で「クリックされたら handleClick を実行」と指定
  • Reactではイベント名は キャメルケース(onClick, onChange など)
  • 関数を渡すのがポイント(handleClick() と書かない!)

user01 Surprised
まあまあ!
`onClick` に関数を渡すだけで、まるで魔法のように動き出すんですのね💫

3. イベントとPropsの組み合わせ

📝 解説(コード例)

function Button(props) {
  return <button onClick={props.onPress}>{props.label}</button>;
}

export default function App() {
  function sayHello() {
    alert("こんにちは!");
  }

  return (
    <div>
      <Button label="ご挨拶" onPress={sayHello} />
    </div>
  );
}
  • Button コンポーネントに「押されたらどうするか」を Propsで渡す
  • これで 汎用的なボタン部品 を作れる
  • label で文字を、onPress で動きを変えられる

user01 Happy
なるほど……!
まるでお洋服にリボンを付け替えるように、ボタンの役割も付け替えできるんですのね🎀

4. よく使うイベントたち

📝 解説

Reactでよく使われるイベントは――

  • onClick : クリックされたとき
  • onChange : 入力内容が変わったとき(フォームなど)
  • onSubmit : フォームが送信されたとき
  • onMouseEnter / onMouseLeave : マウスが乗ったとき、外れたとき

👉 これらを組み合わせることで「インタラクティブなUI」を作れます。


user01 Calm
ふふ……。まるで舞踏会でエスコートされるように、ユーザーの一挙手一投足にReactが反応してくれるのですわね💃✨

まとめ

  • イベント処理とは、ユーザーの操作に反応する仕組み
  • Reactでは onClick などの イベントハンドラ を使う
  • Propsと組み合わせれば、ボタンの動きを自由に変えられる
  • よく使うイベント:onClick, onChange, onSubmit など

user02 Happy
次回は「State(状態管理)」について学びましょう。
イベントで反応するだけでなく、状態を持つコンポーネントを作るのです。
たとえば「カウンター」を数えるような仕組みですね。
user01 Surprised
まあ!ボタンを押すたびに数字が変わる……?
それはまるでティーカップにお砂糖をひとつずつ加えるような楽しさですわ☕🍬
次回もとても待ち遠しいですの✨

砂糖は一粒ずつ——Stateで育てるインタラクション|第6回 React入門砂糖は一粒ずつ——Stateで育てるインタラクション|第6回 React入門