Javascript 如何在React Native中从firebase返回子数组
我的Firebase数据库包含JSON对象,每个对象的参数如下所示 我想得到一个数组,它包含每个国家的对象。因此,如果我有4000个对象,我希望得到一个包含4000个字符串的数组,所有字符串都包含一个国家 现在,我可以让控制台使用下面的代码将所有4000个对象记录到一个数组中Javascript 如何在React Native中从firebase返回子数组,javascript,json,firebase,react-native,firebase-realtime-database,Javascript,Json,Firebase,React Native,Firebase Realtime Database,我的Firebase数据库包含JSON对象,每个对象的参数如下所示 我想得到一个数组,它包含每个国家的对象。因此,如果我有4000个对象,我希望得到一个包含4000个字符串的数组,所有字符串都包含一个国家 现在,我可以让控制台使用下面的代码将所有4000个对象记录到一个数组中 componentWillMount() { this.fetchData(); } fetchData = async () => { var data1 = []; var fireBase
componentWillMount() {
this.fetchData();
}
fetchData = async () => {
var data1 = [];
var fireBaseResponse = firebase.database().ref();
fireBaseResponse.once('value').then(snapshot => {
snapshot.forEach(item => {
var temp = item.val();
data1.push(temp);
return false;
});
console.log(data1);
});
}
但是当我试着做
var fireBaseResponse = firebase.database().ref().child('country');
我什么都没有得到
任何帮助都会很好 如注释中所述,您可以创建一个新的临时对象,在将其放入数组之前只包含country
snapshot.forEach(item => {
var temp = { country: item.val().country };
data1.push(temp);
return false;
});
我相信您必须使用
snapshot.val()
来访问每个项目返回的objectI do,我确实得到了4000个对象的数组。问题是数组包含所有项目信息,而不仅仅是国家/地区。然后您应该先将item.val().country
提取到一个新对象中,然后再将其推入data1
。我希望这有帮助!你的权利。我不敢相信我没有看到。非常感谢,没问题。很高兴我能帮忙