我如何访问firestore文档与模块化sdk和反应?



任何帮助将不胜感激!我最近在使用firebase时遇到了一些麻烦,迫使我使用模块化sdk,但我对firebase和编程还是相当陌生的。我最近使用:

useEffect(() => {
db.onSnapshot((snapshot) => {
setPosts(snapshot.docs.map((doc) => doc.data()));
});
}, []);

但是没有找到这个新的模块。无法解决"firebase",我一直得到错误,我尝试了新的模块化sdk。我现在有:

useEffect(() => {
const helper = async () => {
const docRef = collection(db, 'posts');
const docSnap = await getDocs(docRef);
console.log(docSnap.docs);
};
helper();
}, []);

但是这只返回undefined,以及docSnap。数据和其他选项。任何和所有的帮助将不胜感激,谢谢!

v8 SDK中的代码:

db.onSnapshot((snapshot) => {
setPosts(snapshot.docs.map((doc) => doc.data()));
});

与模块化v9 SDK中的完全相同:

onSnapshot(db, (snapshot) => { // 👈 change is here
setPosts(snapshot.docs.map((doc) => doc.data()));
});

这里的db看起来有点奇怪,所以它实际上可能必须是:

onSnapshot(collection(db, 'posts'), (snapshot) => { // 👈 change is here again
setPosts(snapshot.docs.map((doc) => doc.data()));
});

最新更新