Javascript -控制台数据显示长度为2,但只包含一个值



我有以下firestore代码,它只是将一些对象附加到一个数组中,然后将该数组传递给react组件以填充列表。

export const getUsers =async (tarinerId) => {
let data = [];
try{
let ref = await db
.collection("users")
.orderBy("createdAt")
.limit(3)
.get();

if (ref.empty) {
return new Promise.reject("No User Found")
}
ref.forEach(doc => {
data.push({
name: doc.data().first_name+" "+doc.data().last_name,
id: doc.data().id,
email: doc.data().email,
createdAt: doc.data().createdAt
})
}
console.log(data)
return Promise.resolve({userData: data})
} catch(error) {console.log(error}
}       

userData被传递到react组件中。一旦收到,我想从数组中弹出最后一个元素。

<Component userData={userData.data} />

Component中,我弹出数据。

但是问题是console.log从函数打印出4个项目的长度,但里面只有3个项目。

我的第一个猜测是关于引用调用,但是为什么组件弹出会影响已经执行的函数上的console.log ?还是我遗漏了什么明显的东西?

您的ref可能有一个空记录。这可能就是返回一个额外的空对象

的原因

最新更新