反应Firestore快照不是功能

时间:2020-11-09 19:15:06

标签: javascript reactjs firebase google-cloud-firestore

嗨,所以我遵循了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);
    });

enter image description here enter image description here

我尝试了TypeError: snapshot.forEach is not a function 但是然后我het data()是未定义的plz帮助

1 个答案:

答案 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);
        });