I am attempting to fetch multiple URLs in React using the Promise.all() method:
const urls = [
"https://thesession.org/members/nearby?latlon=53,-6&radius=1000&format=json&perpage=50&page=2",
"https://thesession.org/members/nearby?latlon=53,-6&radius=1000&format=json&perpage=50&page=3",
"https://thesession.org/members/nearby?latlon=53,-6&radius=1000&format=json&perpage=50&page=4"
];
Promise.all(urls.map(url => fetch(url).then(res => res.json()))).then(
members => {
console.log(members);
this.setState({
nearbymems: members.members
});
}
);
The console.log is returning all of the URLs together but it is not displaying them on my map application.
I have declared an empty array in my state : nearbymems: []
I will also post my render() function for displaying the data as markers in leaflet:
{this.state.nearbymems.map(members => (
<Marker
position={[members.location.latitude, members.location.longitude]}
icon={myIcon1}
>
<Popup>
<h1 className="lead">{members.name} </h1>
<PopupModal initialModalState={true} />
</Popup>
</Marker>
))}
Thank you.
edit:
Output of array:
(3) [{…}, {…}, {…}]
0:
format:"json"
latlon:"53,-6"
members: Array(50)
0:
bio:" "
date:""
id:44967
location:
{latitude: "53.31138992", longitude: "-6.24345493"}
name: "______"
url:"https://thesession.org/members/___"
__proto__: Object
console.log(members);? because members will an array.nearbymems: members.members? ifmembersis an array,members.membersisundefined..then(res => res.members)to each promise, sincemembers.memberswill beundefined?this.setState({ nearbymems: members });