我打算使用React v0.13.3構建一個考試生成器。問題是當我點擊Add a choice
時,我作爲prop元素傳遞的回調函數未定義。這裏是完整的片段。reactjs傳遞迴調結果未定義
順便說一句,我粘貼轉換後的腳本,你應該想要的jsx腳本。這裏是not-yet-transformed.js
我打算使用React v0.13.3構建一個考試生成器。問題是當我點擊Add a choice
時,我作爲prop元素傳遞的回調函數未定義。這裏是完整的片段。reactjs傳遞迴調結果未定義
順便說一句,我粘貼轉換後的腳本,你應該想要的jsx腳本。這裏是not-yet-transformed.js
這是因爲在你的考試組件的地圖功能裏面渲染方法這關鍵字是不是指的考試組件對象。您可以解決問題與ES6箭頭功能或創建一個名爲局部變量_this和地圖功能
前用箭頭功能
var questions = this.state.questions.map((question, index) =>{
return (
React.createElement(Question, {
key: index,
index: index,
src: question,
handleAddChoice: this.onAddChoice})
);
});
的jsfiddle http://jsfiddle.net/jkwhrs1j/
隨着分配這個到_this局部變量賦值 jsfiddle http://jsfiddle.net/gzevgjfb/
繼pashaplus的回答,您還可以通過上下文參數映射函數是這樣的:
var questions = this.state.questions.map(function (question, index) {
return (
<Question
key={index}
index={index}
src={question}
handleAddChoice={this.onAddChoice} />
);
}, this);
冷靜,我會用這 –