bind对ajax调用做了什么?

时间:2016-03-05 03:09:54

标签: jquery reactjs

示例" 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} />
    }
});

1 个答案:

答案 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()