【发布时间】:2018-11-14 04:00:06
【问题描述】:
请帮忙:)
我正在做简单的 Axios 获取请求,在“组件安装”中。在一个简单/基本的反应应用程序中。我正在尝试获取伦敦的 FourSquare 地点数据。
我的功能有效,因为我可以 console.log 数据。这是我的组件安装代码:
// FOURSQUARE COMPONENT DID MOUNT
componentDidMount() {
console.log('COMPONENT DID MOUNT');
axios.get('https://api.foursquare.com/v2/venues/explore…')
.then(res => {
console.log('data', res.data.response.groups[0].items);
// console.log('data',res.data.response.groups[0].items[0].venue.name);
this.setState(
{ places: res.data.response.groups[0].items}
);
});
}
请在此处附上console.log 的截图。 https://i.imgur.com/DPPxwdW.png
但是,我正在尝试映射数据,以在对象数组/res.data 中获取“venue.name”。但我不断收到以下错误:
无法读取未定义的属性“地图”
这是我试图通过数据映射的方式......
const Loaders = ({places}) => {
return (
<section>
<div className="columns is-multiline">
{places.map((place, i) => <div className="column is-one-quarter" key={i}>
<ul>
<li>
<div className="card-image">
<figure className="image">
<h2 className="has-text-centered has-text-grey">title: {place.venue.name}</h2>
</figure>
</div>
</li>
</ul>
</div>)}
</div>
</section>
);
};
export default Loaders;
【问题讨论】:
-
您的“places”变量无效(不是数组)...您能否检查该变量是否获得了正确的数据?例如:将 places.length 转储到视图中..
标签: javascript reactjs api axios