Вот быстрый и грязный совет для React :)

Если вы делаете вызов AJAX из компонента React и хотите обновить его состояние из функции успеха, вы можете сделать это:

componentDidMount: function() {
  var that = this;
  $.ajax({
    type: GET,
    url: http://localhost:3000/,
    success: function(data) {
      that.setState({
        sampleState: data.sampleState
      });
    }
  });
}

По сути, здесь происходит следующее: вы привязываете переменную that к контексту, из которого вы сделали вызов AJAX. То есть контекст верхнего уровня компонента.

Это полезно, потому что, когда вы вызываете this.setState непосредственно из функции успеха, «это» относится к контексту выполнения самой функции успеха, а не к компоненту, что означает, что при попытке вызвать setState вы получите ошибку, потому что функция успеха не имеет свойства setState.

Создание переменной that и привязка ее к this фактически создает замыкание, которое можно использовать для обновления состояния компонента, даже если вы находитесь в другом контексте.

Не супер сложно, но я сталкивался с этим несколько раз, так что, надеюсь, это убережет вас от повторения той же ошибки.

Ваше здоровье,

-R