Firebase身份验证,使用React钩子进行注册

时间:2020-07-27 12:11:05

标签: javascript firebase

我刚刚做了一个辅助功能来注册,登录,签出等,但是当我尝试注册时,得到以下信息:FirebaseError:Firebase:没有创建Firebase应用程序'[DEFAULT]'-调用Firebase App.initializeApp() (应用/无应用)。但是当我使用类组件时,我可以注册。任何人都可以提供帮助,如何解决此错误。

import firebaseConfig from "./config";
import * as firebase from 'firebase/app';
import 'firebase/auth';
import "firebase/firebase-firestore";

function Firebase () {

    const providers = {
        googleProvider: new firebase.auth.GoogleAuthProvider(),
    };
    return {
        init() {
            firebase.initializeApp(firebaseConfig);
            firebase.auth();
            firebase.firestore()           // I guess something wrong here??
        },
        getAuth() {
            return firebase.auth();
        },
        getDB() {
            return firebase.database();
        },
        async signInEmailAndPassword(email, pass) {
            try {
                await firebase.auth().signInWithEmailAndPassword(email, pass)
                .then(user => console.log(user, "successfully logged in"));
            } catch (err) {
                console.log(err)
            }
        },
        async signup(email, pass, firstName, lastName) {
            try {
                await firebase.auth().createUserWithEmailAndPassword(email, pass)
                firebase.auth().currentUser().updateProfile({
                displayName: firstName + "" + lastName
            });
            } 
            catch (err) {
                console.log(err)
            }            
        },
        async signInGoogle() {
            try {
                await firebase.auth().signInWithPopup(providers.googleProvider);
            } catch (err) {
                console.log(err)
            }
        },
        async signOut() {
            await firebase.auth().signOut()
        }, 
        async getUser(){
            await firebase.auth().currentUser()
        }
    }
}

export default Firebase();

0 个答案:

没有答案