2015-09-06 90 views

回答

2

這是因爲在你的考試組件的地圖功能裏面渲染方法關鍵字是不是指的考試組件對象。您可以解決問題與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/

1

繼pashaplus的回答,您還可以通過上下文參數映射函數是這樣的:

var questions = this.state.questions.map(function (question, index) { 
    return (
     <Question 
      key={index} 
      index={index} 
      src={question} 
      handleAddChoice={this.onAddChoice} /> 
    ); 
}, this); 
+0

冷靜,我會用這 –