我对这种东西不熟悉所以请耐心等待。
我收到了来自Firebase的对象,其结构如下:
{
"news" : {
"BBC news" : {
"id" : 1,
"title" : "BBC News"
},
"CNN News" : {
"id" : 2,
"title" : "CNN News"
},
"title" : "News"
},
"animals" : {
"Horse" : {
"id" : 3,
"title" : "Horse"
},
"title" : "Animals"
}
}
我正在使用react并想要遍历这些数据并像这样渲染:
News
- BBC News
- CNN News
Animals
- Horse
我已经设法使用此代码遍历主要标题:
Object.values(this.state.datas).map((data, i) => <li key={i}> {data.title} </li>
JSON对象被分配给状态&#39;数据&#39;。预览目前呈现的内容:
News
Animals
我有父母的头衔,但不知道如何获得儿童头衔。
有谁知道我如何得到我想要的结果?谢谢,抱歉,如果我使用了错误的关键字。
答案 0 :(得分:1)
假设您无法操纵数据结构,请尝试使用您的数据执行此类操作:
Object.values(this.state.datas).map((data, i) => {
// obtain the categories, i.e. bbc, cnn from the entry
let categories = Object.keys(data);
// pop the "title" key so it doesn't get returned
categories.pop();
return (
<li>
{data.title}
<ul>
{categories.map((category, i) => <li key={i}>{category}</li>)}
</ul>
</li>
);
});
这应该可以正常工作而无需从Firebase更改您的数据结构。让我知道这个是否奏效!请在此stackblitz链接中查看:https://stackblitz.com/edit/react-szbop7。