我正在构建一个具有本机功能的react应用,该应用具有地图功能,可以在地图上为一系列不同的地方创建标记。为此,我使用API来获取坐标,因此需要使用异步函数:
this.state.place.map(async (place) => {
const coords = await fetchCoords(place)
return (
<Marker coordinate={coords}/>
)
})
但是此代码给出错误Invariant Violation: Objects are not valid as a React child (found: object withkeys {_40, _65, _55, _72})
。我猜该错误是因为我实现了异步映射功能错误。应该是什么?
使用Promise.all
:
Promise.all(
this.state.place.map(place => fetchCoords(place))
.map(coords => (<Marker coordinate={coords}/>))
)