thinking now...

旅とライブと祭と廃墟。

Reactのonclickに引数を渡したいっ!

   

普通に引数が無い場合は、

clicked() {
  console.log('click!!');
}

render () {
  <div>
    <a onClick={clicked}>リンク</a>
  </div>
}

これで、クリックした時にclickedが呼ばれるので問題なし。

これに普通に引数を渡すと、

render () {
  <div>
    <a onClick={clicked(100)}>リンク</a>
  </div>
}

こんな感じに書いて動かしてみると、renderしたタイミングでいきなりclickedが呼ばれる。
(表示した時点でclickedが呼ばれる)

そこで、無名関数を使う。

render () {
  <div>
    <a onClick={() => clicked(100)}>リンク</a>
  </div>
}

こうすればrenderしたタイミングではnullがreturnされるんで、何も起きずにクリックした時にclickedが呼ばれる。

 - React.js