← inaro.devAI駆動開発 学習ツール
基礎

イベントハンドラ

なぜ学ぶか: 「ボタンを押したら何かが起きる」— その「押したら」をコードにつなぐのが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が生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。