Firebase App named ‘[DEFAULT]’ already exists のerror が出た時の対処法

Posted : October 17, 2020
firebaseerrorfirestore

Firebase App named ‘[DEFAULT]’ already exists (app/duplicate-app)

のエラーメッセージが出て、対応にちょっと詰まったので備忘的に残してみました。

これはfirebaseを複数のコンポーネントにインポートするときに発生するエラーです。

この問題は、firebase のinitialize メソッドを複数回呼び出すために発生してしまうそうですね。

initializeメソッドの呼び出しを制限することで対応しました。

firebase構成を1つのクラスで作成し、シングルトンクラスとして作成します。

つまり、

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

毎回firestore は呼びたいが、firebase の初期化まで何度も呼んでいると起きてしまうエラーなので2度目は起きないように上記のif 文で対応できるって話。