arrays - React 应用程序中的映射函数仅显示一个结果
问题描述
我正在尝试从 a 中获取结果json link
,如下所示:
state = {
users: []
};
componentDidMount() {
this.getUsers();
}
getUsers = () => {
axios
.get("https://api.racidy.com/livetv/uploads/m-jsonobjfin.json")
.then(data => this.setState({ users: [JSON.parse(data.data.substring(25))] }))
.catch(err => {
console.log(err);
return null;
});
};
从这段代码中,我可以获得我需要的所有数据..但是当我尝试显示结果时:
render() {
return (
<Layout>
<div>
{this.state.users.length === 0 ? (
<div>Loading...</div>
) : (
this.state.users.map((e, i) => {
return <div key={i}>{e.game[i]['imgGame']}</div>;
})
)}
</div>
...
渲染方法上的“console.log(this.state.users)”的结果
我只得到一个结果..第一个,
我做错了什么?
解决方案
您正在迭代用户,它只有一个元素"game"
。
你应该迭代"game"
。
render() {
return (
<Layout>
<div>
{this.state.users.length === 0 ? (
<div>Loading...</div>
) : (
this.state.users[0].game.map((e, i) => {
return <div key={i}>{e['imgGame']}</div>;
})
)}
</div>
...
推荐阅读
- python - ValueError:无法将字符串转换为浮点数:sklearn、numpy、panda
- python - Django 模型抽象基类之间的 ForeignKey
- jquery - AJAX partial loading page inside div problem
- typescript - 如何内联快速初始化打字稿数据结构
- html - 无法通过 VBA 在 Internet Explorer 中选择下拉列表
- node.js - 如何实现一个管理员审批系统,用于在 node.js 中发布博客并表达应用程序?
- c++ - 设置 viewController 共享公共对象
- nativescript - 如何使用 Appium 将 browserstack 与 Nativescript 集成?
- python - 使用 Python 实现最小堆
- flutter - 如何在 Flutter 中制作 Arc(Curve)轮播(ListVie,Row Widget)?