我有一個反應組件,其中我試圖傳遞一個span標記onClick事件處理程序。事件處理程序被稱爲「askQuestion」。我使用.bind(this,parameter)函數將onClick事件處理程序綁定到組件的上下文。React組件的onClick處理程序不綁定到「this」
儘管我嘗試綁定到「this」,但我仍然在開發工具控制檯中發現錯誤,提示「無法讀取未定義的屬性askQuestion」。我很確定這個錯誤意味着askQuestion沒有被正確綁定到組件的上下文中。我需要幫助正確地綁定askQuestion。
以下是部分:
class Questions extends Component {
askQuestion(question) {
alert("hello");
}
addQuestion(question, index) {
return (
<div key={index} className="col-xs-12 col-sm-6 col-md-3">
<span onClick={this.askQuestion.bind(this, question)}>
{question.q}
</span>
</div>
);
}
render() {
return (
<div id="questions" className="row">
<h2>Questions</h2>
{this.props.questions.map(this.addQuestion)}
</div>
);
}
}
所以我通過結合this.addQuestion爲「本」像這樣得到這個工作? – Mjuice