Приложение Firebase с именем [DEFAULT] уже существует - PullRequest
0 голосов
/ 04 июля 2018

Я новичок в React и сейчас пытаюсь подключить свое первое приложение к базе данных Firebase.

У меня есть два файла для этого. Первый - это файл config.js, в котором хранится вся информация о базе данных, например:

`export default {
    apiKey: "***",
    authDomain: "***",
    databaseURL: "***",
    projectId: "***",
    storageBucket: "***",
    messagingSenderId: "***"
  };`

И мой другой файл, App.js:

`import React, { Component } from 'react';
import './App.css';

//Firebase
import * as firebase from 'firebase';
import config from 'firebase';


class App extends Component {
constructor () {
    super()

    this.state = { loading: true }
    firebase.initializeApp(config)
  }

  componentWillMount () {
    const capsRef = firebase.database().ref('Capsules')

    capsRef.on('value', snapshot => {
      this.setState({
        Capsules: snapshot.val(),
        loading: false
      })
    })
  }

  render () {
    if (this.state.loading) {
      return (
        <p>Je suis en train de charger.</p>
      )
    }

    const capsRef = Object.keys(this.state.tweets).map(key => {
      return <p key={key}>{this.state.Capsules[key].designation}</p>
    })

    return (
      <div>


        <h1>Test</h1>

      </div>

    )
  }
}

export default App;`

Итак, когда я обновляю свой браузер, у меня появляется сообщение об ошибке: «Firebase: приложение Firebase с именем« [DEFAULT] »уже существует (app / duplicate-app)».

Кто-нибудь может мне помочь? Уже неделю я ищу решение сам.

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Эта ошибка возникает, когда вы пытаетесь инициализировать Firebase снова и снова. Его следует инициализировать сразу и использовать, чтобы приложение Firebase с именем «[DEFAULT]» уже существовало, необходимо изменить стиль инициализации.

try {
firebase.initializeApp({
apiKey: "FULL_API_KEY_PUT_HERE",
authDomain: "FULL_AUTHDOMAIN_PUT_HERE",
databaseURL: "https://FULL_databaseURL_PUT_HERE.com",
storageBucket: "FULL_storageBucket_PUT_HEREappspot.com",
})
} catch (err) {
// we skip the "already exists" message which is
// not an actual error when we're hot-reloading
if (!/already exists/.test(err.message)) {
console.error('Firebase initialization error raised', err.stack)
}}
0 голосов
/ 04 июля 2018

Трудно сказать, не видя ваш код, но вы можете попробовать:

if (!firebase.apps.length) {
  firebase.initializeApp(config);
}

в вашем конфигурационном файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...