写组件时,要用到bind()绑定方法,这是为什么呢?
还有下面这段代码,为什么要将成功回调函数也bind()呢?
$.ajax({
url: "/my-comments.json",
dataType: 'json',
success: function(comments) {
this.setState({comments: comments})
}.bind(this)
})
谢谢各位。
写组件时,要用到bind()绑定方法,这是为什么呢?
还有下面这段代码,为什么要将成功回调函数也bind()呢?
$.ajax({
url: "/my-comments.json",
dataType: 'json',
success: function(comments) {
this.setState({comments: comments})
}.bind(this)
})
谢谢各位。
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
4 回答1.6k 阅读
6 回答1.1k 阅读
回调函数的上下文是是全局对象window或者undefined,所以要绑定this,不然
this.setState
就不存在了