назначение.привязать(это) в конце обратного вызова AJAX?


из учебника reactjs, какова цель иметь .bind(this) в конце обратного вызова ajax? Правильно ли работает код без него?

        data: JSON.stringify({text: text}),
        success: function (data) {
            this.setState({data: data});
        }.bind(this),
2 57

2 ответа:

он обеспечивает this будет правильным объектом внутри обратного вызова. Смотрите

цель .bind(this) в конце обратного вызова ajax пусть this быть связаны с вашим классом react. Другими словами, вы можете добавить:

var self = this;

вне ajax и он работает так же. Вы код, равный:

var self = this;
$.ajax({
    .
    .
    data: JSON.stringify({text: text}),
    success: function (data) {
        self.setState({data: data});
    },
    .
    .
});