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

Posted

技术标签:

【中文标题】TypeError: undefined is not an object(评估 \'_$$_REQUIRE(_dependencyMap[9], "../../config/FIREBASE").FIREBASE.database\')【英文标题】:TypeError: undefined is not an object(evaluating '_$$_REQUIRE(_dependencyMap[9], "../../config/FIREBASE").FIREBASE.database')TypeError: undefined is not an object(评估 '_$$_REQUIRE(_dependencyMap[9], "../../config/FIREBASE").FIREBASE.database') 【发布时间】:2021-11-09 06:44:06 【问题描述】:

我已经在 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');

【问题讨论】:

文件名真的是"FIREBASE.js"吗?不是"firebase.js" 【参考方案1】:

您没有使用版本9.0.0+ 中包含的新模块化/函数式语法。您必须重写代码以遵循新语法:

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 以了解更多信息。

【讨论】:

好的,谢谢,现在如何导入到 TambahKontak.js,以便 FIREBASE.database() 可以在 TambahKontak.js 中使用。但现在我使用的是 firebase v.9.0.0 ,FIREBASE.js 的第一条语句不能再次使用。 你可以直接从firebase.js导出数据库。 export const database = firebase.database() 好的,谢谢你,我想成为你的学生反应原生。我是来自印度尼西亚的尼古拉斯 firebase.js // 初始化 Firebase const FIREBASE = firebase.initializeApp(firebaseConfig); const database = FIREBASE.database() export default database main.js import database from '../../config/FIREBASE' const kontakReferensi = database.ref('kontak') TypeError: FIREBASE.database is not a function . (在'FIREBASE.database()'中,'FIREBASE.database'未定义)仍然像这样的错误先生 导出这个export database ,然后导入这个:import database from "..path/to/firebase.js"。这样您就不必再次致电.database()。只需创建一个像 database.ref("/path/to/data") 这样的数据库引用。我建议关注documentation 获取详细示例。

以上是关于TypeError: undefined is not an object(评估 '_$$_REQUIRE(_dependencyMap[9], "../../config/FIREBASE的主要内容,如果未能解决你的问题,请参考以下文章

TypeError: undefined is not an object (评估'_order.default.addOrder')

为啥当我点击更新按钮时出现错误TypeError: r is undefined?

TypeError: undefined is not a function (in '...styled Components.default.button...')

TypeError: undefined is not a function with React 和 Express

JQUERY DataTable -- TypeError: k is undefined - 使用 MVC 动态形成表

TypeError: undefined is not an object , item is from an array from an API