[英]ReactJS - Map inside a map
我正在開發 ReactJS 和 Redux 應用程序。 在某些時候,我有一個元素列表(注釋),每個元素都有一個數組(子任務)。 我想顯示所有元素,並為每個元素顯示其數組的內容。
我試過這個:
render(){
return(
<div>
<h3>{this.props.match.params.user}'s board</h3>
<Link to={`/settings/${this.props.match.params.user}`}>
<button>Settings</button>
</Link>
<Link to={`/new/${this.props.match.params.user}`}>
<button>Add note</button>
</Link>
{
this.props.notes.map((item,index) =>
<Link to={`/details/${item.name}`}>
<h4 key={index}>{item.name}</h4>
item.subtasks.map((sub, subindex)=>
<p key={subindex}>{sub}</p>)
</Link>
)
}
</div>
);
}
但我得到了:
未捕獲的 ReferenceError:未定義子索引
正確的方法是什么?
你需要像這樣在{}
括號內包裝第二張map
{
this.props.notes.map((item,index) =>
<Link to={`/details/${item.name}`}>
<h4 key={index}>{item.name}</h4>
{
item.subtasks.map((sub, subindex) =>
<p key={subindex}>{sub}</p>)
}
</Link>
)
}
以Vanilla JavaScript為例,您可以根據需要實現相同的反應方式。
let users = [ { name: "Amoos", skills: ["PHP", "MySQL"] }, { name: "Rifat", skills: ["JavaScript", "React", "HTML"] } ]; users.map(( user, index ) => { console.log(`User: ${user.name}`) { user.skills.map(( skill, subIndex) => { console.log(`Skill # ${subIndex}: ${skill} `) }) } } )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.