示例" BIND"来自ReactJS代码。我从来没有使用过bind,也不确定它在ajax调用中的作用,如下面的代码所示。
React.createClass({
componentWillMount: function () {
$.get(this.props.url, function (data) {
this.setState(data);
}.bind(this));
},
render: function () {
return <CommentList data={this.state.data} />
}
});
答案 0 :(得分:1)
它没有专门对ajax调用做任何事情,它会为它所使用的任何函数绑定this值。
来自MDN
bind()
方法创建一个新函数,当被调用时,它具有它this
关键字设置为提供的值,具有给定的序列 调用新函数时提供的任何参数。
一个简单的例子
function doStuff() {
console.log(this); // would print "hello kitty"
}
var fn = doStuff.bind('Hello Kitty'); // set "this", then return new function
fn(); // call with given "this" value
问题中的代码simple将this
函数回调中的$.get
值设置为与this
相同的componentWillMount()
值