我已经像这样从firebase提取了一些数据:
getUserData = () => {
database
.ref('orders/')
.once('value')
.then(function(snapshot) {
const exists = snapshot.val() !== null;
if (exists) {
let data = snapshot.val();
console.log("DATA IS: ", data);
}
});
}
该图显示了控制台日志。我试图在反应中呈现表上的所有内容。我在遍历数据时遇到麻烦。我需要先将其转换为数组吗?
我希望呈现item_id,displayName,email和所有订单信息中的所有内容
答案 0 :(得分:0)
首先,您需要转换为数组,然后可以使用map检索数据。 例如: 如果数据为数组形式,则可以映射对象。 希望对您有帮助。
data.map((detail)=>{
console.log(detail.email);
})
答案 1 :(得分:0)
您可以从函数中获取数据,
function getUserData = () => {
database
.ref('orders/')
.once('value')
.then(function(snapshot) {
const exists = snapshot.val() !== null;
if (exists) {
let data = snapshot.val();
//console.log("DATA IS: ", data);
return data;
}
});
}
var data = getUserData();
data.forEach(function(item){
console.log(data.email);
console.log(data.img);
console.log(data.name);
console.log(data.section);
} )
答案 2 :(得分:0)
新的javascript提供Object.values()。SO,您将数据转换为如下所示的数组并使用。
getUserData = () => {
database
.ref('orders/')
.once('value')
.then(function(snapshot) {
const exists = snapshot.val() !== null;
if (exists) {
let data = snapshot.val();
console.log("DATA IS: ", data);
//use Object.values(data)
const dataArray = Object.values(data);
//now you can map your dataArray
}
});
}
希望这会对您有所帮助。让我知道您是否有任何问题。