簡體   English   中英

React Native Firebase Auth功能

[英]React Native Firebase Auth function

我正在使用使用Firebase實時存儲的React Native Crud應用程序。 我將Firebase身份驗證功能與電子郵件和密碼記錄一起使用。 但我的Firebase身份驗證無法正常工作。 Firebase連接遇到更多問題。 我使用此功能連接Firebase。

  componentWillMount() {
      firebase.initializeApp({
       apiKey: 'xxxxxxxxxxxxxxxxxxxxxxxx',
       authDomain: 'xxxxxxxxxxxxxxxxxxxxxx',
       databaseURL: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
       projectId: 'xxxxxxxxxxxxxxxxxxxxx',
       storageBucket: 'xxxxxxxxxxxxxxxxxxxxxxxx',
       messagingSenderId: 'xxxxxxxxxxxxxxx'
     });
  }

我的登錄按鈕身份驗證功能如下所示:

  state = { email: '', password: '', error: '' };

  onButtonPress() {
    const { email, password } = this.state;

    firebase.auth().signInWithEmailAndPassword(email, password)
    .catch(() => {
      firebase.auth().createUserWithEmailAndPassword(email, password)
      .catch(() => {
        this.setState({ error: 'Authenticaton Failed.' });
      });
    });
   }

我像這樣導入firebase庫:

import * as firebase from 'firebase';
import 'firebase/firestore';
import 'firebase/auth';

但是此配置不起作用。 它顯示了此錯誤:

undefined is not a function (evaluating 'firebase.auth()')

我曾經通過這種方法獲取文本輸入值:

    value={this.state.password}
    onChangeText={password => this.setState({ password })}

您的Firebase配置僅存在於componentDidMount 嘗試這樣:
在任意位置創建文件<namefile>.js並添加:

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

const config = {
    apiKey: "your key",
    authDomain: "domain",
    databaseURL: xxxx",
    projectId: "xxxx",
    storageBucket: "xxx",
    messagingSenderId: "xxxx"
};

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

const auth = firebase.auth();

export {
    auth
}; 

在您的組件和按鈕方法中導入auth ,可通過以下方法更改代碼:

auth.signInWithEmailAndPassword

它應該可以工作,並且每次需要使用auth ,只需要導入即可

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM