ユーザーがボタンをクリックしたり、フォームにテキストを入力したり、ページをスクロールしたりするとき、これらすべてがイベントとして捉えられます。
それぞれのイベントには特定のアクション(関数)が関連付けられており、そのイベントが発生したときにこのアクションが実行されます。
このようなイベントドリブンの設計は、JavaScriptという言語が特に得意とする部分です。Web上で動的なインタラクションを作成するための主要なツールとなっています。
さらに、JavaScriptのフレームワークであるReactは、これらのイベントを管理するための強力な手段を提供しています。
Reactのコンポーネント設計は、イベントハンドラと呼ばれる特定の関数をコンポーネントに関連付けることで、ユーザーとの対話を管理します。
本稿では、Reactにおける主要なイベントとその取り扱いについて、基本的な概念から具体的なコードサンプルまで詳しく解説します。
目次
Reactにおけるイベントハンドリングの概要
プログラミングにおいて、イベントは非常に重要な概念です。 これは、ユーザーがアプリケーションと対話するための主要な手段となります。 イベントは、ユーザーがボタンをクリックしたり、入力欄にテキストを入力したり、マウスを移動したりするといったユーザーのアクションに反応します。 JavaScriptフレームワークの一つであるReactは、これらのユーザーイベントを効果的に管理するための専用のイベントハンドリングシステムを提供しています。
イベントとは:
一般的に、イベントとはユーザーがアプリケーションと対話するための手段を指します。
これは、ユーザーの動作(例えば、マウスクリックやキーボードのキー入力)に対してアプリケーションが反応するものです。
Reactには多くのイベントが存在しますが、ここではよく使用されるイベントに焦点を当ててみましょう。
Reactでよく使うイベントの種類とその使い方
Reactではさまざまな種類のイベントが使用できます。 その中から特に頻繁に使用されるものを取り上げ、それぞれがどのように機能し、どのように使用するのかを説明していきます。onClickイベント
onClickは、ユーザーが要素をマウスでクリックしたときに発生するイベントです。 ボタンがクリックされたときに特定のアクションを起動するのによく使用されます。 次の例では、ボタンがクリックされたときにアラートメッセージを表示します。function Button() {
function handleClick() {
alert('ボタンがクリックされました!');
}
return (
<button onClick={handleClick}>
クリックしてみてください
</button>
);
}
handleClick
関数が実行されます。
その結果、ブラウザのアラートウィンドウにメッセージが表示されます。
onClickイベントの応用例:カウンターの作成
onClickイベントは、ボタンクリックに応じて値を増減させるカウンターのようなアプリケーションを作成する際にも役立ちます。 次に示すのは、その一例です。import React, { useState } from "react";
function Counter() {
const [count, setCount] = useState(0);
function incrementCount() {
setCount(count + 1);
}
return (
<div>
<p>現在のカウント:{count}</p>
<button onClick={incrementCount}>増加</button>
</div>
);
}
export default Counter;
useState
フックを使用してcount
という状態を保持し、それをボタンがクリックされるたびに増加させるようにしています。
onChangeイベント
onChangeは、ユーザーが入力欄にテキストを入力したり、選択欄で選択肢を選んだりしたときに発生するイベントです。 入力値が変更されたときに何らかの動作を行う場合に使用します。 次の例では、テキストフィールドの入力値が変更されるとその値がコンソールに表示されます。function TextField() {
function handleChange(event) {
console.log('入力値:', event.target.value);
}
return (
<input type="text" onChange={handleChange} />
);
}
handleChange
関数が実行されます。
その結果、現在の入力値がブラウザのコンソールに表示されます。
onChangeイベントの応用例:リアルタイム検索
onChangeイベントは、ユーザーの入力にリアルタイムで反応する機能を作成するのにも有効です。 例えば、ユーザーがテキストボックスに文字を入力するたびに検索結果を更新する、リアルタイム検索機能を実装することが可能です。onSubmitイベント
onSubmitは、ユーザーがフォームを送信するとき(例えば、送信ボタンをクリックしたとき)に発生するイベントです。 フォームの送信動作をカスタマイズする場合に使用します。 次の例では、フォームが送信されるとその事実がコンソールに表示されます。function Form() {
function handleSubmit(event) {
event.preventDefault();
console.log('フォームが送信されました');
}
return (
<form onSubmit={handleSubmit}>
<button type="submit">送信</button>
</form>
);
}
handleSubmit
関数が実行されます。
その結果、”フォームが送信されました”というメッセージがブラウザのコンソールに表示されます。
React を効率的に身につける勉強法は?
React には興味があっても、プログラミング学習をはじめたばかりであれば、以下のような疑問を持つかもしれません。
- Reactエンジニアとして活躍するために何をすればいい?
- 何から勉強すればいいんだろう?
- 絶対に転職を成功させるには?
React は習得が比較的難しいため、勉強法の選び方を間違うと時間・労力・お金が無駄になってしまいます…。
そのため、こちらの記事を参考に、ご自身に最適な学習方法を選んでみませんか?
【初心者向け】Reactのおすすめ勉強法3選を現役エンジニアが比較・解説! | Muscle Coding
Reactの効果的な学習方法を現役エンジニアが解説!本、動画教材(Udemy)、プログラミングスクールの特徴を比較し、最適な方法を提案します。初心者でも理解しやすい、効率…