【发布时间】:2020-12-04 13:30:03
【问题描述】:
arrayOfIds.forEach((id) => {
firestore
.collection("foos")
.doc(id)
.get()
.then((foo) => {
fooArray.push(foo.data());
});
});
console.log(fooArray);
// some output
this.setState({ foos: fooArray });
// but nothing passed to the state
当我使用 console.log fooArray 时,我可以看到所有数据,但无法将其分配给状态
【问题讨论】:
-
Firestore 返回一个 Promise,在 setState 被调用后解决。 blog.sessionstack.com/…
-
只有在所有查询完成后才需要 setState,这意味着您需要更改此代码的结构才能正确使用 Promise。
标签: javascript reactjs firebase google-cloud-firestore