如何解决状态设置太晚,无法在地图上生成图钉
在我的本机应用程序中,我有一个包含地图的屏幕。引脚的数据来自API。
我收到了所有必要的数据,但是这种情况为时已晚。当我记录this.state.markers时,它总是空的,除了在getStores方法中。
地图如何等待API响应?
interface Props {
}
interface State {
markers: any;
}
export default class MapShops extends Component<Props,State> {
constructor(props) {
super(props);
this.state = {
markers: []
}
this.getStores();
}
getStores = () => {
Axios({
"method": "GET","url": "https://xxx","headers": {
"content-type": "application/json",'Authorization': 'xxx'
}
})
.then((response) => {
this.state = {
markers: response
}
})
.catch((error) => {
console.log(error)
})
};
mapMarkers = () => {
return this.state.markers.map((report) => <Marker key={report.id}
coordinate = {
{
latitude: report.address.latitude,longitude: report.address.longitude
}
}
title={report.brandName}>
</Marker>);
}
render() {
if (this.state.markers) {
return (<MapView style = {
{
flex: 1
}
}>
{this.mapMarkers()}
</MapView>
);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。