reactjs - react js:使用地图方法显示项目
问题描述
我也想在 div 中显示子模块名称这是我的 api 数据
"predefined": [
{
"id": 2,
"mainModule": "bonding",
"description": "some random description 2",
"sub_module": [
{
"id": 3,
"subModuleName": "activity of bonding",
"completed": false
},
{
"id": 4,
"subModuleName": "self care",
"completed": false
}
]
},
{
"id": 1,
"mainModule": "main module 1",
"description": "some random description",
"sub_module": [
{
"id": 1,
"subModuleName": "sub module 1",
"completed": false
},
{
"id": 2,
"subModuleName": "sub module 2",
"completed": false
}
]
}
],
这是我的 axios 从 api 获取数据并设置我的名为 items 的状态
axios
.get(
"url",
config
)
.then((res) => {
this.setState({ items: res.data.predefined });
});
}
这是我用来在这里显示我的 api 的jsx,personData.mainmodule
并且personData.description
工作正常,因为子模块名称在一个数组中,没有渲染我不能使用它 {personData.sub_module[0].subModuleName}
{this.state.items.map((personData) => {
return (
<>
<div className="activity">
<h3>{personData.mainModule}</h3>
<span>{personData.description}</span>
{this.state.item.map((personData) => {
return (
<>
{personData.sub_module.subModuleName} //error
</>
);
})}
</div>
</>
);
})}
解决方案
您应该使用当前personData
变量来访问sub_module
属性。然后你用另一个Array.map
来渲染它。
{
personData.sub_module.map(item => {
return (
<>
{item.subModuleName}
</>
);
})
}
推荐阅读
- python-3.x - 时间序列分解:ValueError: You must specify a period or x must be a pandas object with a DatetimeIndex with a freq not set to None
- javascript - 反应中的对象克隆
- python - PyOpenCl 无效的内核参数
- java - 返回的文件不为空,但在下次调用时为空
- node.js - 我需要为路由过程编写单元测试吗?
- c - 检查是否定义了多行宏
- mysql - 我在哪里可以找到存储过程的输出?
- javascript - 如何在苗条的商店中引用反应式 $ 变量?
- reactjs - 在语义-ui-react 中获取表单值
- sql - Oracle sql查询以在日期之间拆分数据