我得到一个从Database返回的对象数组。我想映射那个数组,并且我想要映射另一个数组。但是我收到了一些错误。如果有人知道请帮助解决这个问题。
displayMovies(){
if(!this.state.body) return ( <h2> Loading.... </h2>)
else{
return this.state.body.map((data) => {
return(
<div key={data._id}>
<li> {data.name} </li>
<ul>
{
return data.map((cast) => {
return <li> cast.name </li>
})
}
</ul>
</div>
)
})
}
}
答案 0 :(得分:1)
你不在嵌套循环中的任何函数中,所以你不需要return
任何东西
替换
return data.map((cast) => {
到
data.map((cast) => {
并在map
cast
属性上添加应用data
功能
displayMovies(){
if(!this.state.body) return ( <h2> Loading.... </h2>)
else{
return this.state.body.map((data) => {
return(
<div key={data._id}>
<li> {data.name} </li>
<ul>
{
data.cast.map((cast) => {
return <li> {cast.name} </li>
})
}
</ul>
</div>
)
})
}
}
答案 1 :(得分:0)
您的第一个map函数返回一个Object。对象没有map函数使用for循环,而不是在循环内部,检查属性是否为对象。 用以下内容替换第二个地图:
for (const key in object) {
if (object.hasOwnProperty(key) && typeof(object[key]=='object') {
// do something with object[key].name
}
}