` 从“firebase/app”导入{initializeApp,getApps}; 从 'firebase/storage' 导入 { getStorage };
const firebaseConfig = { apiKey: '密钥', authDomain: 'facebook-clone-nextjs-2dcc9.firebaseapp.com', 项目 ID: 'facebook-clone-nextjs-2dcc9', storageBucket: 'facebook-clone-nextjs-2dcc9.appspot.com', 消息发送者 ID: '662489031143', appId: '1:662489031143:web:ae71393e61a214e3f35d42', 测量 ID: 'G-VFB246J0M5', };
const firebaseApp =initializeApp(firebaseConfig);
const db = getStorage(firebaseApp);
导出 { db };
const sendpost = (e) => {
e.preventDefault();
if (!inputRef.current.value) return;
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
});
您可以在文档
中了解有关新语法的更多信息您应该使用
getFirestore
来获取 Firestore
的实例,但您使用 getStorage
将会获取 Storage
的实例。
停止侵入他人财产(";")null