Я использую реакцию с потоком.Reactjs: немедленно обновить данные состояния (из магазина)
У меня есть функция в моем компоненте, который вызывает выполняет действие на клик:
onClickEventEdit: function(itemId) {
ScheduleActions.getEventById(itemId) // this ultimately is set into `currentEventById` state
var title = this.state.currentEventById['title'] || ""
console.log(title) // logs nothing
console.log(this.state.currentEventById) //logs empty object {}
// then show modal
$('#eventSelectedModal').modal({
show: true
});
},
My ScheduleAction
является Ajax вызова для получения информации о событии. Когда действие Ajax выполняется, оно обновляет мой магазин. У меня создается впечатление, что он обновляет мой магазин после назначения заголовка и журналов.
Как я могу получить доступ к этой информации после вызова действия, чтобы сразу отобразить информацию клиенту?
Получает ли getEventById обещание? Если это так, то вы должны использовать ключевое слово 'then'. Чтобы быть ясным, вы знаете, что AJAX-вызовы асинхронны, не так ли? JS не ждет, когда 'getEventById' вернет значение; он запускает вызов ajax, а затем продолжает выполнение кода – svangordon