【发布时间】:2019-03-05 21:32:29
【问题描述】:
firebase.js
import config from "./firebaseConfig";
import app from "firebase/app";
import "firebase/firebase-firestore";
class Firebase {
constructor() {
app.initializeApp(config);
this.db = app.firestore();
}
getBooks = () =>
this.db
.collection("books")
.get()
.then(docs => docs.forEach(doc => doc.data()))
.catch(err => console.error(err));
}
export default new Firebase();
BookCardsContainer.js
import React, { useState, useEffect } from "react";
import BookCards from "./BookCards";
import firebase from "../../firebase";
const BookCardsContainer = () => {
const [books, setBooks] = useState([]);
useEffect(() => {
setBooks(firebase.getBooks());
}, []);
console.log(books);
return <div />;
};
export default BookCardsContainer;
如果我在 Promise 上使用 then,为什么我在控制台中有 Promise {} 而不是实际值?当我在 firebase.js 中使用 console.log() 时,我有实际数据。
【问题讨论】:
标签: javascript reactjs firebase react-hooks