【发布时间】:2019-10-04 10:58:43
【问题描述】:
嵌套map()方法的类组件中如何显示数据?
下面是数据结构。
data.js
const items =
{
"label": "DTR-01",
"row": [
{
"level": 1,
"locations": [
{
"name": "DTR-01-01",
"stock": [
{
"product": "Battery Drill",
"qty": 100,
"replenishment": "slow"
}
]
}
]
},
{
"level": 2,
"locations": [
{
"name": "DTR-01-02",
"stock": []
},
{
"name": "DTR-02-02",
"stock": [
{
"product": "Angle Grinder",
"qty": 3,
"replenishment": "fast"
}
]
}
]
},
{
"level": 3,
"locations": [
{
"name": "DTR-01-03",
"stock": [
{
"product": "Skill Saw",
"qty": 2,
"replenishment": "standard"
}
]
},
{
"name": "DTR-01-04",
"stock": [
{
"product": "Hammer Drill",
"qty": 10,
"replenishment": "standard"
}
]
}
]
}
]
};
export default items;
设置当前返回对象的组件,数量为 3。
下面的类组件。
LocalData.js
import React, {Component} from 'react';
import items from '../data/data';
class LocalData extends Component {
constructor(props) {
super(props);
this.state = {
items: items
};
}
render() {
const {items} = this.state;
return (
<div>
{
Object.keys(items.row).map(level => {
return (<div key={level}>{level}</div>)
})
}
</div>
);
}
}
export default LocalData;
我需要嵌套其他 map() 方法来显示组件中的数据吗?我曾尝试嵌套 map() 方法,但最终出现错误。
【问题讨论】:
-
记住 map 仅适用于数组。您可能需要选择下一个属性,该属性是要映射到它的数组。喜欢
rows.map(row => row.locations.map(location =>等 -
试试这个
Object.keys(items.row).map((level, index) => (<div key={index}>{level}</div>))
标签: javascript reactjs