如何在react native中检索firebase数据



我试图从firebase数据库中获取数据,我很好地获得了数据,但当我试图推送数组中接收的所有项目时,我获得了一个数组,我无法像任何其他javascript数组一样迭代。这是我的代码:

var li = [];

useEffect(() => {
firebaseDB
.database()
.ref("collection")
.on("value", (data) => {
let all = data;

all.forEach((element) => {

li.push(element.val());
});
});
}, []);
console.log(li);

当我做console.log(li)时,我得到的是li数组,它似乎对数据没问题,但当我试图对数组做一些事情时,例如,如果我做console.log(li.length),它会打印0,但数组中有多个项。问题是我的li数组的行为不像数组。请帮我找出的问题所在

不能像那样推送数据。试试这个代码。

const [arr,setArr] = useState([]);

useEffect(()=>{
firebaseDB
.database()
.ref("collection")
.on("value", (snapshot) =>{
let data = [];
snapshot.forEach((child)=>{
data.push(child.val());
})
setArr(data);
});

},[])

使用forEach关键字进行迭代。它工作于

最新更新