Ошибка Firebase: приложение Firebase не создано

#javascript #firebase #react-native #firebase-realtime-database #firebase-authentication

#javascript #firebase #react-native #firebase-база данных в реальном времени #firebase-аутентификация

Вопрос:

Я работаю над собственным приложением на React Native. Все работало правильно, пока я не создал страницу для сохранения пользовательских данных в базе данных. Сначала оно работало правильно, как и предполагалось, я смог отправить информацию в базу данных. Но когда я обновил приложение, появилось сообщение об ошибке «Не создано приложение Firebase ‘[DEFAULT]’ — вызовите Firebase App.initializeApp()». Я уже инициализировал его в своем App.js поэтому я удалил страницу, и ошибка исчезла. Я снова создал страницу, и она снова работала корректно, пока я не обновил приложение. Вот мой код, проверьте его и направьте меня, пожалуйста.

DataScreen.js

 import firebase from "firebase";

const userID = firebase.auth().currentUser.uid;

export default class DataScreen extends React.Component {
  state = {
    fname: "",
    restaurant: "",
    city: "",
    address: "",
    phone: "",
  };

  handleSave = () => {
    firebase
      .database()
      .ref()
      .child("Users")
      .child(userID)
      .set(this.state, function (error) {
        if (error) {
          var errorCode = error.code;
          var errorMessage = error.message;

          console.log(errorCode);
          console.log(errorMessage);

          Alert.alert("Message :"   errorMessage);
        } else {
          Alert.alert("Information added succesfully");
        }
      })
      .then((ref) => {
        this.props.navigation.goBack();
      })
      .catch((error) => this.setState({ errorMessage: error.message }));
  };

  render() {
    return (
      <DataInputs/>
    );
  }
}
  

Ответ №1:

Похоже, вы используете новый экземпляр приложения firebase каждый раз, когда модуль перезагружается.

Вы должны инициализировать свою firebase один раз и использовать экземпляр во всем своем приложении.

firebase.js

 import firebase from 'firebase';

try {
   firebase.initializeConfig({ /* Config here* /})
} catch(err) {
   // swallow the error
   console.log(err)
}

/* use this firebase in your project. */
export default firebase;