【发布时间】:2022-01-26 23:45:28
【问题描述】:
我必须在布局中显示我从数据库中获取的一些数据。这是我用来获取数据的代码:
const [array, setArray] = useState([])
const collectionRef = collection(db, "Collection")
const q = query(collectionRef, orderBy("Order", "desc"))
useEffect(() => {
auth.onAuthStateChanged(function (user) {
if (user) {
onSnapshot(q, (data) =>
setArray(data.docs.map((doc) => ({ ...doc.data(), id: doc.id })))
);
}
})
}, [auth]);
下面是html
<div>
<h2>{array[0].Name}</h2>
</div>
最让我困惑的是错误并不总是出现,有时一切正常,有时它在没有明显原因的情况下停止工作。如果我对数组执行console.log,有时它会打印数据并且一切正常,有时它会打印一个空数组并且什么都不做。 我声明该数组永远不会被修改,它是在代码开头加载的,并且只读取数据。
【问题讨论】: