私はAPIから取得している大量のデータを持っています。問題は、データが約束から受け取られる前に私のコンポーネントがrenderMarkers関数を呼び出していることだと思います。レンダリングの前に解決することを約束するのを待つ
私はrenderMarkers関数を呼び出す前にデータを完全に解決するという約束をどのように待つことができますか?
class Map extends Component {
componentDidMount() {
console.log(this.props)
new google.maps.Map(this.refs.map, {
zoom: 12,
center: {
lat: this.props.route.lat,
lng: this.props.route.lng
}
})
}
componentWillMount() {
this.props.fetchWells()
}
renderMarkers() {
return this.props.wells.map((wells) => {
console.log(wells)
})
}
render() {
return (
<div id="map" ref="map">
{this.renderMarkers()}
</div>
)
}
}
function mapStateToProps(state) {
return { wells: state.wells.all };
}
export default connect(mapStateToProps, { fetchWells })(Map);
'componentDidMount'ライフサイクルメソッドでサーバーのデータをフェッチします。 Dan Abramovの[this tweet](https://twitter.com/dan_abramov/status/790581793397305345)を見てください –
ありがとう、私はそれを入れましたが、データが返される前にコンポーネントがまだレンダリング関数を呼び出しています –