LoginSignup
0
0

More than 5 years have passed since last update.

JSXへ関数を埋め込む際に、変数を渡すのとそうでないので挙動が変わる

Posted at

これは、div を mousedown するとhandlerが実行される:

React.createClass({
  render: function() {
    var handler = function() {
      console.log('clicked');
    };
    return <div onMouseDown={handler} />;
  }
});

一方これは実行されない:

React.createClass({
  render: function() {
    return <div onMouseDown={function() {
      console.log('clicked');
    }} />;
  }
});

こうすると実行されるようになる:

React.createClass({
  render: function() {
    return <div onMouseDown={(function() {
      console.log('clicked');
    })()} />;
  }
});

仕組みは不明

0
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
0
0