2016-04-18 121 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

我試過了,顯然它調用了函數,但是說alert沒有定義。它似乎代碼不理解JavaScript元素。它是一個jsx文件。它有什麼問題嗎? – medha

回答

0

您必須將alterMessage函數綁定到反應組件。因爲你的使用功能中的反應成分的道具,

'this.props'

將其綁定如下,

this.alertMessage.bind(本)

+0

它仍然不起作用,並提供以下警告:您將組件方法綁定到組件。 React以高性能的方式自動執行此操作,因此您可以安全地刪除此呼叫。 – medha

+0

你的意思是說警報沒有得到執行? – Hareesh

+0

.bind()僅在ES6中使用React時使用。 – Calvin