我想在我的firestore中获取数据,请问有什么问题?
x错误:对象不作为React子对象(found: [object:])有效承诺)。如果您打算呈现子集合,请使用数组。
db/index.js
import { initializeApp } from 'firebase/app';
import { getFirestore } from 'firebase/firestore';
const firebaseConfig = {
apiKey: 'AIzaSyAdxx_xxxxx',
authDomain: 'xxx',
projectId: 'xxx'
}
const firebaseApp = initializeApp(firebaseConfig);
const db = getFirestore();
export default db;
app.js
import { collection, getDocs } from 'firebase/firestore';
import db from './db';
import './App.css';
const App = async () => {
const querySnapshot = await getDocs(collection(db, 'cafes'));
querySnapshot.forEach((doc) => {
console.log(`${doc.id} => ${doc.data()}`);
});
return <h1>Done!</h1>;
};
export default App;
你不能让你的App
是异步的,因为react-dom
在这里不期望一个承诺。
从您的const App
声明中删除async关键字并更新以包含useEffect中的API调用
import React, {useEffect} from 'react';
const App = () => {
useEffect(() => {
// run once async at first render
(async () => {
const querySnapshot = await getDocs(collection(db, 'cafes'));
querySnapshot.forEach((doc) => {
console.log(`${doc.id} => ${doc.data()}`);
});
})();
}, []);
return <h1>Done!</h1>;
};
export default App;