我是来自多个firestore集合的对象数组,并将它们存储在一个对象中。我想呈现数组中的单个对象。这是我获取数据的方法:
const categories = {
Pakoras: [],
Vegitarisches: [],
"Biryani Gerichte": [],
Hähnchengerichte: [],
"Indische Beilagen": [],
Lammgerichte: [],
"Ben & Jerrys": [],
Getränke: [],
Pizza: [],
Kindermenüs: [],
Spaghetti: [],
Tortellini: [],
Gnochi: [],
Maccheroni: [],
Tagliatelle: [],
"Überbackene Nudeln": [],
Salate: [],
Fleischgerichte: [],
"Schnitzel & Fleischgerichte": [],
Risotto: [],
"Überbackenes-Gemüse-Kartoffeln": [],
"Chinesische-Gerichte-Gebratene-Nudeln-Reis": [],
}
const [foods, setFoods] = useState(categories)
useEffect(() => {
fetch()
}, [])
function fetch(){
console.log("Fetching")
Object.keys(categories).forEach(category => {
fire.firestore().collection(category).get()
.then(snapshot => {
var food = []
snapshot.forEach(doc => {
food.push(doc.data())
//console.log(doc.data())
})
categories[category] = food;
}).catch(error => {
console.log(error)
})
})
//console.log(foods)
}
doc.data()对象看起来如下所示:
var example = {
title: "example",
price: 10,
desc: "none"
}
对象在各自类别下的数组中。我该如何呈现它呢?我想循环遍历所有对象,并像这样呈现它:
类别1:
- 标题-价格-说明
- 标题-价格-说明
第2类:
- 标题-价格-说明
- 标题-价格-说明
1条答案
按热度按时间uqcuzwp81#
Object.entries(categories)
将允许您从对象中迭代键/值对数组。在您的例子中,
key
将是 * 类别 *,而value
将是该类别中的 * 食物数组 *。