我第一次使用谷歌地图 API 并设法最终将地图呈现到屏幕上,我现在正在努力添加我从应用程序中其他地方收到的位置标记。当我遍历这些位置以获取它们各自的纬度和经度坐标时,我想将它们添加到我的状态变量中。目前我有我的代码的方式,我得到一个响应,它被存储在我的状态变量中,但它只存储最近的一个而不是全部。
将所有这些来自 API 的单独响应添加到我的状态变量的最佳方法是什么?
这是我目前的代码
export const MapRender =(props) => {
const {logs} = useContext(LogContext)
const [latLong, setLatLong] = useState([])
useEffect(()=>{
logs.map(l =>{
return fetch(`https://api.opencagedata.com/geocode/v1/json?q=${l.location}&key=MYKEY&limit=1`)
.then(res => res.json())
.then(parsedRes => setLatLong([parsedRes.results[0].geometry]))
})
},[logs])
console.log(latLong) --- returns a separate log for each response object, I want it to return one array with all responses