TypeError: _firebase__WEBPACK_IMPORTED_MODULE_2__.default.collection is not a function(TypeError:_firebase__WEBPACK_IMPORTED_MODULE_2__.default.collection不是函数)
问题描述
这是我第一次在StackOverflow上提问。我正在做一个学校项目,我是Firebase和JavaScript的初学者。我在试着做一个Tinder的克隆。Reaction告诉我这部分代码有错误。起初我有不同的错误,但它们与Firebase语法相关,我立即修复了它们,但现在我不知道这个错误是什么意思。我的代码在localhost上工作了一瞬间(我看到了我的应用程序),然后出现错误。
import React, { useEffect, useState } from 'react';
import TinderCard from 'react-tinder-card';
import database from './firebase';
import './SwipeCards.css';
...
function SwipeCards() {
...
useEffect(() => {
database.collection('buddies').onSnapshot((snapshot) => setBuddies(snapshot.docs.map((doc) => doc.data())));
}, []);
...
}
对于其他人遇到的类似问题,我尝试了两种解决方案,即:
(在我的tinderCards.js中)
database.firestore().collection('buddies')...
和(在我的Firebase.js中)
import { initializeApp } from 'firebase/app';
import { getFirestore } from 'firebase/firestore';
...
const firebaseApp = initializeApp(firebaseConfig);
const database = getFirestore(firebaseApp);
export default database;
但两个都不管用。如果需要,我可以发布更多的代码。如有任何帮助,我们将不胜感激。
sdk
您使用的是新的模块化推荐答案(V9),它不再使用firebase.firestore()
命名空间。我建议您按照documentation了解新语法:
import database from './firebase';
import { doc, onSnapshot, collection, query, where, onSnapshot } from "firebase/firestore";
useEffect(() => {
const q = query(collection(db, "buddies"))
const unsub = onSnapshot(q, (querySnapshot) => {
console.log("Data", querySnapshot.docs.map(d => doc.data()));
});
}, [])
这篇关于TypeError:_firebase__WEBPACK_IMPORTED_MODULE_2__.default.collection不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:TypeError:_firebase__WEBPACK_IMPORTED_MODULE_2__.default.collection不是函数
基础教程推荐
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 动态更新多个选择框 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01