Ошибка типа: неопределенный не является объектом(оценка ‘_$$_REQUIRE(_dependencyMap[9], «../../config/FIREBASE»).FIREBASE.база данных’)

# #javascript #android #firebase #react-native #syntax-error

Вопрос:

Я установил 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 amp;amp; this.state.nomorHP amp;amp; this.state.alamat) {
        console.log("Masuk Submit");
        console.log(this.state);
        const kontakReferensi = FIREBASE.database().ref('kontak');
 

Комментарии:

1. Является ли имя файла на самом деле «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;
 

Я бы рекомендовал использовать новую версию и следовать документации, чтобы узнать больше об этом.

Комментарии:

1. Хорошо, спасибо, а теперь как импортировать в TambahKontak.js так что FIREBASE.database() можно использовать в TambahKontak.js. Но теперь я использую firebase v.9.0. 0 , первое утверждение в FIREBASE.js больше нельзя использовать.

2. Вы можете просто экспортировать базу данных firebase.js напрямую. export const database = firebase.database()

3. хорошо, спасибо, я хочу быть вашим учеником для react native. Я Николас из Индонезии

4. firebase.js // Инициализировать Firebase const FIREBASE = firebase.initializeApp(firebaseConfig); база данных const = FIREBASE.database() экспорт базы данных по умолчанию main.js импорт { базы данных } из ‘../../config/FIREBASE’ const kontakReferensi = database.ref(«контак») Ошибка типа: FIREBASE.база данных не является функцией. (В «FIREBASE.database ()», «FIREBASE.database» не определено) Все еще такая ошибка, сэр

5. экспортируйте это export { database } , а затем импортируйте следующее: import { database } from "..path/to/firebase.js" . Тогда тебе не придется звонить .database() снова. Просто создайте ссылку на базу данных, как это database.ref("/path/to/data") . Я бы рекомендовал следовать документации для получения подробных примеров.