我有react-redux
可以处理从API提取的位置数据,并且效果很好(控制台显示loc状态已填充在redux中)。如果我在Map.js中console.log
个位置,则首先显示undefined
,然后显示数据。因此,我想我无法在地图上加载标记,因为Google地图试图立即加载它。所以问题是当从API提取标记时,如何使Google地图加载标记或完整组件?
我正在尝试使用挂钩和功能组件来加载地图。我尝试使用useEffect
,但我不知道该怎么做。 'noob'
let Map = ({ loc }) => {
useEffect(() => {
if (!loc) etchLoc();
}[]);
return (
<GoogleMap ...>
<MarkerCluser>
{loc.map((item, index) => (
<Marker ... />
)}
</MarkerCluser>
)
}
答案 0 :(得分:1)
我希望我能很好地理解问题。您可以使用略有不同的方法,例如这样的东西:
let marker = "";
if (loc !== null) {
marker = locations.map((m, index) => (<Marker ... />
,然后在地图中使用{marker}
我假设loc in state设置为null ...
希望有帮助。