我在反应组件中调用一个函数
<button onClick={this.createComment}>Submit Comment</button>
在我的createComment函数&#39; this
&#39;因某种原因未定义
createComment(event) {
console.log('inside createComment')
console.log('event', event)
console.log('this', this)
event.preventDefault()
}
我需要在createComment函数中调用this.setState。
如何让this
成为组件的这个?
答案 0 :(得分:1)
改变这个:
onClick={this.createComment}
到
onClick={(e) => this.createComment(e)}
OR
onClick={this.createComment.bind(this)}
注意:
正如@rafahoro所评论的那样:
你应该更喜欢绑定&#34;这个&#34;在构造函数上:
constructor() { this.createComment = this.createComment.bind(this); }
使用
"onClick={(e) => this.createComment(e)}"
或类似的,将会 在每个render()
电话上创建一个新功能。