我正在构建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实施/导入。链接在评论中。
答案 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);
}
}
如果这些作品不要忘记点赞。