Я пытаюсь выполнить асинхронный вызов API в методе componentWillMount. В самом деле, мне бы хотелось, чтобы метод render
выполнялся после метода componentWillMount, поскольку мне нужно передать props
в компонент в моем методе render
.
Вот мой код:
class TennisSearchResultsContainer extends React.Component {
componentWillMount () {
// TODO: Build markers for the map
// TODO: Check courtsResults object and database for tennis court
this.courtsMarkers = this.props.courtsResults.map((court) => {
return new google.maps.Marker({
position: new google.maps.LatLng(JSON.parse(court.LOC).coordinates[1], JSON.parse(court.LOC).coordinates[0]),
title: court.NAME,
animation: google.maps.Animation.DROP
});
});
}
render () {
return <TennisSearchResults criterias={this.props.criterias} courtsMarkers={this.courtsMarkers} />;
}
}
Я не понимаю, почему мой метод рендеринга, похоже, не дождался завершения асинхронного вызова и передал реквизиты undefined моему дочернему компоненту...
Я прав? И что мне делать, чтобы это исправить? Каков способ справиться с этим?