无法导入Firebase Auth Android

时间:2018-10-03 08:35:49

标签: android firebase react-native firebase-authentication

我是React Native的新手,有以下问题: 我以这种方式导入Firebase身份验证...

import React, { Component } from 'react';
import { Text } from 'react-native';
import { Button, Card, CardSection, Input } from './common';
import { auth } from 'firebase';

我只是将其导入我的组件中,并在登录按钮按下时使用它。

class LoginForm extends Component {
    state = { email: '', password: '', error: '' };

    onButtonPress() {
       debugger;
       const { email, password } = this.state;
       auth.auth().signInWithEmailAndPassword(email, password)
           .catch(() => {
               auth.auth().createUserWithEmailAndPassword(email, password)
                   .catch(() => {
                       this.setState({ error: "Authentication failed." });
                   });
          });
       debugger;
  }

我的App模块如下所示...在这里为我的应用程序进行一些初始化

import firebase from '@firebase/app';
import LoginForm from './components/LoginForm'

在这里我为我的应用程序进行了一些初始化

    componentWillMount() {
        debugger;
        firebase.initializeApp({
            apiKey: 'somekey',
            authDomain: 'somedomain',
            databaseURL: 'someurl',
            projectId: 'someid',
            storageBucket: 'authentication-afcb6.appspot.com',
            messagingSenderId: '253116783153'
        });
        debugger;
    }

但是我的模拟器向我显示了一个错误: enter image description here

3 个答案:

答案 0 :(得分:1)

问题在于我的导入语句。使用Firebase时,我总是使用:

import firebase from 'firebase';

firebase.auth().<METHOD>

或者我想如果它是命名导出,也可以像这样导入它并直接使用它:

import {auth} from 'firebase';

auth().<METHOD>

也希望您确实知道还必须使用firebase.initializeApp({<CONFIG_DATA>})来初始化应用。

答案 1 :(得分:0)

我建议使用react-native-firebase库。它在后台使用本机Android和iOS SDK,而不是Web javascript库。

文档 https://rnfirebase.io/docs/v5.x.x/installation/initial-setup

Android安装https://rnfirebase.io/docs/v5.x.x/installation/android

iOS安装https://rnfirebase.io/docs/v5.x.x/installation/ios

答案 2 :(得分:0)

您使用的Firebase是什么版本?

将Firebase降级到5.0.3是我找到的唯一解决方案,我自己尝试了一下,它可以工作。供参考,here is the thread on firebase-js-sdk