реагировать этот контекст изменяется внутри при изменении метода, как вызывать функцию - PullRequest
0 голосов
/ 31 мая 2018

Это изменение, когда я вызываю прослушиватель событий (вместо включения метода onClick в элементе, потому что я использую bootstrap select2).

getReviewVacancyUpdate(post_id) {
    console.log(post_id);
}

componentDidMount() {
   $('#post_list').on('change', function(e) {          
       this.getReviewVacancyUpdate(this.value); //function in undefined
   });
}

В любом случае сохранить предыдущее это состояние?Может быть, связать это?И вызвать метод компонента.Без ошибки - "function is undefined"

Я могу добавить класс в начало jsx.

var Child = React.createClass({
statics: {
    getReviewVacancyUpdate: function(post_id) { 
        console.log(post_id);
        return true;
    }
},
// ...
render() {

}
});

Но это выглядит не очень хорошо

1 Ответ

0 голосов
/ 31 мая 2018

Поэтому я добавляю переменную let для сохранения этого контекста до вызова метода change.И все отлично работает.

componentDidMount() {
     let save_this = this;
     $('#post_list').on('change', function(e){
           let selected = $(e.currentTarget).find("option:selected").val();
           save_this.getReviewVacancyUpdate(selected);
     }).bind(this);
}
...