嗨,所以我遵循了Firebase文档,以从集合中获取数据。但是我收到错误的快照未定义。 这是我尝试过的:
const [data, setData] = useState([]);
useEffect(() => {
const db = Firestore.firestore();
// let tempData = Controller.getData();
const projects = db.collection('projects');
const snapshot = projects.get();
let fireData = [];
snapshot.forEach((doc) => {
console.log('data:', doc.data());
fireData.push(doc.data());
});
setData(fireData);
});
我尝试了TypeError: snapshot.forEach is not a function 但是然后我het data()是未定义的plz帮助
答案 0 :(得分:2)
projects.get()
返回使用QuerySnapshot对象解析的Promise。它不会直接返回快照。如documentation所示,您必须等待诺言解决才能获取数据:
projects.get().then(snapshot => {
let fireData = [];
snapshot.forEach((doc) => {
console.log('data:', doc.data());
fireData.push(doc.data());
});
setData(fireData);
});