TypeError: undefined is not an object(evaluating '_$$_REQUIRE(_dependencyMap[9], "../../config/FIREBASE").FIREBASE.database')

TypeError: undefined is not an object(evaluating '_$$_REQUIRE(_dependencyMap[9], "../../config/FIREBASE").FIREBASE.database')

我已经在 Firebase 中使用 npm 安装了 Firebase,但我不知道这个错误是怎么回事。

文件FIREBASE.js

// Import the functions you need from the SDKs you need
import { initializeApp } from "firebase/app";
// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries

// Your web app's Firebase configuration
const firebaseConfig = {
    apiKey: "AIzaSyAd2EBoYYCRWEc3oClZTV3Wo-TiQkM2MgQ",
    authDomain: "crud-react-26836.firebaseapp.com",
    databaseURL: "https://crud-react-26836-default-rtdb.asia-southeast1.firebasedatabase.app",
    projectId: "crud-react-26836",
    storageBucket: "crud-react-26836.appspot.com",
    messagingSenderId: "741718079918",
    appId: "1:741718079918:web:1566301b46c4448c8c703f"
};

// Initialize Firebase
const FIREBASE = initializeApp(firebaseConfig);
export default FIREBASE;

TambahKontak.js

import React, { Component } from 'react'
import { StyleSheet, View, TouchableOpacity, Text, Alert } from 'react-native'
import { InputData } from '../../component'
import { FIREBASE } from '../../config/FIREBASE'

onSubmit = () => {
    if (this.state.nama && this.state.nomorHP && this.state.alamat) {
        console.log("Masuk Submit");
        console.log(this.state);
        const kontakReferensi = FIREBASE.database().ref('kontak');

您没有使用版本 9.0.0+ 中包含的新 Modular/Functional 语法。您将不得不重写代码以遵循新语法:

import { getDatabase } from "firebase/database"

const dbRef = ref(getDatabase());
const snapshot = await get(child(dbRef, 'kontak'))

如果您想使用现有代码(使用旧语法),请通过将导入更改为:

来使用 compat 版本
import firebase from 'firebase/compat/app'
import 'firebase/compat/database'
import 'firebase/compat/[SERVICE_NAME]'

const FIREBASE = firebase.initializeApp(firebaseConfig);
export default FIREBASE;

我建议使用新版本并按照 documentation 了解更多信息。