React-Native:“ FirebaseError:尚未创建Firebase应用程序'[DEFAULT]'-调用Firebase App.initializeApp()(app / no-app)”

时间:2019-12-04 11:09:07

标签: android firebase react-native firebase-realtime-database firebase-authentication

我正在构建React Native应用,目前正在尝试通过Firebase Auth实施身份验证注册系统。我已遵循网站上的指南/文档来设置Firebase配置文件。我运行该应用程序,输入电子邮件和密码,当我单击注册按钮时,出现以下错误:

FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app).

我已经在Google上搜索了可能的修复程序,但似乎无济于事。我已经按照观看的文档/教程初始化了Firebase。希望有人能对此事有所启发。我将在下面添加配置文件代码XXXX,以替换我的实际配置信息

firebase.js

import * as firebase from 'firebase/app';
import "firebase/auth";

const firebaseConfig = {
  apiKey: "XXXX",
  authDomain: "XXXX",
  databaseURL: "XXXX",
  projectId: "XXXX",
  storageBucket: "XXXX",
  messagingSenderId: "XXXX",
  appId: "XXXX",
  measurementId: "XXXX"
};

firebase.initializeApp(firebaseConfig);

api.js

export function registerUser({email, password}) {
  firebase
    .auth()
    .createUserWithEmailAndPassword(email, password)
    .catch(function(error) {
      console.log(error);
    });
};

编辑/应答

如以下评论所述,正确的方法是通过React-Native-Firebase实施/导入。链接在评论中。

4 个答案:

答案 0 :(得分:1)

似乎您使用的是Invertase Firebase项目的语法,而背面使用的是Firebase npm软件包中的firebase的WEB SDK。

这是您应该做的:

here转到并安装react-native-firebase

确保Pod可以工作并且自动链接可以工作,您已经包含json和plist文件。仅遵循这些步骤,您的项目就会建立,您可以使用在问题中发布的语法!

答案 1 :(得分:0)

您可以按照以下方式编写配置:

componetWillMount() {
const config = {
apiKey: “xxxxxxxxxxxxxxxxxxxxxxxx”,
authDomain: “auth-bdcdc.firebaseapp.com 20”,
databaseURL: “https://auth-bdcdc.firebaseio.com 7”,
projectId: “auth-bdcdc”,
storageBucket: “auth-bdcdc.appspot.com 2”,
messagingSenderId: “xxxxxxxxxx”
};
firebase.initializeApp(firebaseConfig);
}

答案 2 :(得分:0)

检查 ios 文件夹中是否缺少 GoogleService-Info.plist

答案 3 :(得分:0)

这就是我为解决它所做的。

使用异步函数进行注册

FirebaseConfig.js

import firebase from 'firebase/app';


const firebaseConfig = {
  apiKey: "XXXX",
  authDomain: "XXXX",
  databaseURL: "XXXX",
  projectId: "XXXX",
  storageBucket: "XXXX",
  messagingSenderId: "XXXX",
  appId: "XXXX",
  measurementId: "XXXX"
};

firebase.initializeApp(firebaseConfig); // It's expecting an objects

注册为异步函数:

Registration.js

export async function Registration(email, password, lastName, firstName) {
  try {
    await firebase.auth().createUserWithEmailAndPassword(email, password);
    const currentUser = firebase.auth().currentUser;
    const db = firebase.firestore();
    db.collection("users").doc(currentUser.uid).set({
      email: currentUser.email,
      lastName: lastName,
      firstName: firstName,
    });
  } catch (err) {
    Alert.alert("There is something wrong!!!!", err.message);
  }
}

如果这些作品不要忘记点赞。