我有一个状态值为
的数组constructor {
super(props);
this.state = {
staff: {
pos1: { name:'Ajith'}
pos2: { name:'Ben'}
}
}
}
componentDidMount() {
this.state.staff.map((item,index) => {
console.log(item+" * "+index)
}
}
我收到错误this.state.staff.map is not a function
,因为索引不是0, 1 etc
。我该如何解决这个问题?
答案 0 :(得分:0)
因为staff
是Object
而不是Array
,因此您无法映射staff
。但你可以试试这个
Object.key(this.state.staff).map((key, index) => {
const item = this.state.staff[key]
console.log(item+" * "+index)
})
答案 1 :(得分:0)
根据您的问题,这里有很多事情需要注意,
工作人员不是数组,因此您无法使用地图,为了使用地图,您需要对象。键。
此外,您在员工价值部分中缺少逗号。
staff: {
pos1: { name:'Ajith'},
pos2: { name:'Ben'}
}
使用地图:
Object.keys(staff).map((data) => staff[data].name )
It will return the output as:
["Ajith", "Ben"]