reactjs 在react中从firebase数据库导出数据

ybzsozfc  于 2023-03-08  发布在  React
关注(0)|答案(1)|浏览(113)

我想在变量"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 };

有什么办法可以解决这个问题吗?先谢谢你!
我希望能够在"数据"中拥有所需的信息

wfveoks0

wfveoks01#

您需要对实时数据库而不是Firestore使用compat导入:

import firebase from 'firebase/compat/app';
import "firebase/compat/database";

并且您应该使用导出

export { firebase, database };

Realtime DatabaseFirestore是Firebase提供的两种不同的数据库服务。

相关问题