2016-04-18 18 views
-1

私は反応して、単純なreact.jsアプリケーションを開発しようとしています。onClickハンドラを使用して、JavaScriptで簡単な警告を試みています。 onClickイベントは発生していません。ここにコードスニペットがありますonclickイベントがreact.jsで動作していません

module.exports = React.createClass({ 
     alertMessage: function() { 
     alert(this.props.name);        
     }, 

     render: function() { 
     return (
      <div onClick={this.alertMessage}> 
      Hello {this.props.name} 
      </div> 
     ); 
    } 
}); 
+0

これを試してください。 alertMessage() –

+0

うまく動作します:http://jsfiddle.net/rtkhanas/nqoo7wfv/ –

+0

私はそれを試しました、明らかにそれは関数を呼び出しますが、警告は定義されていないと言います。それはコードがjavascriptの要素を理解していないようです。そのjsxファイル。何か問題がありますか? – medha

答えて

0

あなたは反応コンポーネントにalterMessage関数をバインドする必要があります。あなたは、関数内で反応するコンポーネントの小道具を使用しているため、

それバインド 'this.props'

次のように、

this.alertMessage.bind(この)

+0

まだ動作しておらず、次の警告が表示されます。コンポーネントメソッドをコンポーネントにバインドしています。 Reactはこれを自動的に高性能で行いますので、この呼び出しを安全に削除することができます。 – medha

+0

アラートが実行されていないと言っていますか? – Hareesh

+0

.bind()は、React in ES6を使用する場合にのみ使用されます。 – Calvin

関連する問題