LoginSignup
1
0

5分で読むReact豆知識 | 入門 | 第10回: OnClickの即時関数に注意

Posted at

はじめに

このシリーズは、Reactの公式ページなどから特に重要と感じたトピックを選び出し、何度でも読み返せるよう簡潔にまとめたものです。:orange_book:

進捗管理には「いいね」か「ブックマーク」がお勧め
さらに僕のモチベーションアップになります!:thumbsup:よろしくお願いいたします!:thumbsup:

シリーズ一覧はこちら

OnClickの即時関数に注意

このボタンタグ、onClickについている関数はいつ動くと思いますか?

<button onClick={handleClick()}>ボタン</button>

実はレンダリングされてすぐなんです。

{/*OK:渡すことでイベントハンドラ関数がクリックに反応する*/}
<button onClick={handleClick}>ボタン</button>
{/*NG:()があるとレンダー後すぐに発火する*/}
<button onClick={handleClick()}>ボタン</button>
{/*アロー関数で定義するのも可能*/}
<button onClick={() => {alert('test2')}}>ボタン</button>

これは{}で囲われたものはJavaScriptとして扱われるため、()をつけると関数実行と認識し即時実行されるためです。
イベントハンドラへ関数定義を渡すときは()をつけないよう気をつけましょう。

参考サイト

より詳しく学びたい方はこちら

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0