'从“Firebase/app”导入{startalizeApp, getApps};从“Firebase/存储”导入{getStorage};
const firebaseConfig={apiKey:“key”,authDomain:“facebook-clone-nextjs-2dcc9.firebaseapp.com”,projectId:“facebook-clone-nextjs-2dcc9”,storageBucket:“facebook-clone-extjs-2dcc.appspot.com”,messagingSenderId:“662489031143”,appId:“1:662489031143:web:ae71393e61a214e3f35d42”,measurementId:“G-VFB246J0M5”,};
const firebaseApp = initializeApp(firebaseConfig);
const db = getStorage(firebaseApp);
导出 { db };
常量发送邮局 = (e) =
db.collection('post').add({
message: inputRef.current.value,
name: session.user.name,
email: session.user.email,
image: session.user.image,
timestamp: firebase.firestore.fieldValue.serverTimestamp(),
});
inputRef.current.value = '';
};
`
问题是:
db.collection()
getFirestore
来获取Firestore的实例,但您使用的是getStorage
,它将获取Storage的实例尝试将您的代码引用为:
import { getFirestore, collection } from "firebase/firestore"
const db = getFirestore(app)
const colRef = collection(db, "posts")
await addDoc(colRef, {
...yourDataObject
});
您可以在文档中了解有关新语法的更多信息
您应该使用< code>getFirestore来获取< code>Firestore的实例,但是您使用的< code>getStorage将获取< code>Storage的实例。