イベントハンドラ
なぜ学ぶか: 「ボタンを押したら何かが起きる」— その「押したら」をコードにつなぐのがonClickです。ここには、AIもやってしまう有名な書き間違いがあります。まず正しい形と間違いを並べて見てください。
まずはこの例を見てみましょう
const sayHi = () => console.log("こんにちは!");
// ✅ 正解: 関数「そのもの」を渡す(押されたときに実行される)
<button onClick={sayHi}>あいさつ</button>
// ✅ これも正解: その場で関数を作って渡す
<button onClick={() => console.log("押された!")}>ボタン</button>
// ❌ 間違い: カッコ付きは「画面を描いた瞬間」に実行されてしまう
<button onClick={sayHi()}>あいさつ</button>onClickに渡すのは「関数そのもの」。カッコを付けると、押していないのに実行されます。
onClick=クリック時に動かす関数の予約
例のonClick={sayHi}は「クリックされたらsayHiを呼んでね」という予約です。
カッコを付けると「いま実行」になってしまう
onClick={sayHi()}は、画面を描いた瞬間にsayHiが実行され、「押してないのに動いた」バグになります。AIもたまにやります。
その場のアロー関数も定番
onClick={() =>処理}の形なら、引数付きの処理も「押されたときに実行」として予約できます。
onChange=入力のたびに動く
入力欄ではonChangeを使います。次のトピック(フォーム)で主役になります。
ステップ 1 / 3
※ カリキュラムの内容はAIが生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。