我想在变量"data"中包含来自firebase中数据库的特定值/信息,但出现此错误-"* firebase_config__WEBPACK_IMPORTED_MODULE_1 *_. default. database不是函数"
下面是我的App. js:
import React, {useEffect, useState} from "react";
import firebase from "./firebase-config";
function App() {
function databaseData() {
const database = firebase.database().ref("schools");
database.on("value", async snapshot => {
const data = [];
snapshot.forEach(childSnapShot => {
const schoolTitles = {
ID: childSnapShot.key.toString(),
Titles: childSnapShot.val().title,
};
data.push(schoolTitles);
});
this.setState(prevState => {
return {data: [...prevState.data, ...data]};
});
console.log("data");
});
}
useEffect(() => {
databaseData();
}, []);
return (...);}
下面是我的firebase配置:
import firebase from 'firebase/compat/app';
import "firebase/compat/firestore";
const firebaseConfig = {
...
};
const app = firebase.initializeApp(firebaseConfig);
const database = getDatabase(app);
export default { firebase, database };
有什么办法可以解决这个问题吗?先谢谢你!
我希望能够在"数据"中拥有所需的信息
1条答案
按热度按时间wfveoks01#
您需要对实时数据库而不是Firestore使用compat导入:
并且您应该使用导出
Realtime Database和Firestore是Firebase提供的两种不同的数据库服务。