我只是想在状态对象内映射嵌套值。数据结构如下所示:
我想映射每个里程碑名称,然后映射该里程碑内的所有任务。现在我正在尝试使用嵌套地图函数来做到这一点,但我不确定我是否可以做到这一点。
渲染方法如下所示:
render() {
return(
<div>
{Object.keys(this.state.dataGoal).map( key => {
return <div key={key}>>
<header className="header">
<h1>{this.state.dataGoal[key].name}</h1>
</header>
<Wave />
<main className="content">
<p>{this.state.dataGoal[key].description}</p>
{Object.keys(this.state.dataGoal[key].milestones).map( (milestone, innerIndex) => {
return <div key={milestone}>
{milestone}
<p>Index: {innerIndex}</p>
</div>
})}
</main>
</div>
})}
</div>
);
}
我认为我可以通过将内部索引传递给这行代码来以某种方式实现该结果:{Object.keys(this.state.dataGoal[key].milestones)
所以它看起来像:{Object.keys(this.state.dataGoal[key].milestones[innerIndex])
。
但我不知道如何通过innerIndex
。我也尝试过获取里程碑名称,{milestone.name}
但这也不起作用。我想那是因为我必须指定密钥。
有人有想法吗?或者我应该以完全不同的方式映射整个对象?
很高兴得到任何帮助,Jakub