我正在使用firebase测试react-native(android),我做了一个小应用程序来验证firebase。
问题是,当我点击R + R 3或4次时,firebase会停止对用户进行身份验证。
在./src/actions/login.js中有一个我尝试调试的console.log。 当promisses(.then())出现时,我有另一个console.log(用户),但当我重新加载应用程序3或4次时,console.log(用户)停止出现。但其他两个console.log(启动auth)和console.log(完成auth)每次都有效。
如果我关闭Metro Bundler并再次打开,身份验证过程将第一次,第二次,但如果我重新加载应用程序3或4次(有时需要大量R + R),将不会发生身份验证过程我无法在.catch()上获得错误。
有人面临这个问题还是可以帮助我? 感谢。
这是我的代码:
./ SRC /配置/ app_config_firebase.js
import firebase from 'firebase';
import {
FIREBASE_API_KEY,
FIREBASE_AUTH_DOMAIN,
FIREBASE_DATABASE_URL,
FIREBASE_PROJECT_ID,
FIREBASE_STORAGE_BUCKET,
FIREBASE_MESSAGING_SENDER_ID
} from './constants';
const config = {
apiKey: FIREBASE_API_KEY,
authDomain: FIREBASE_AUTH_DOMAIN,
databaseURL: FIREBASE_DATABASE_URL,
projectId: FIREBASE_PROJECT_ID,
storageBucket: FIREBASE_STORAGE_BUCKET,
messagingSenderId: FIREBASE_MESSAGING_SENDER_ID
};
firebase.initializeApp(config);
export const database = firebase.database();
export const auth = firebase.auth();
./ SRC /动作/ login.js
import { auth } from '../config/app_config_firebase';
export const loginUser = () => {
console.log('starting auth');
auth.signInWithEmailAndPassword('user@user.com', '123456')
.then((user) => console.log(user))
.catch(erro => console.log(erro));
console.log('finish auth');
}
./ App.js
import React, { Component } from 'react';
import {
View,
Button
} from 'react-native';
import { loginUser } from './src/actions/login';
export default class App extends Component {
_autenticarUsuario() {
loginUser();
}
render() {
return (
<View>
<Button
title='Login'
onPress={() => this._autenticarUsuario()}
/>
</View>
);
}
}
答案 0 :(得分:0)
您可以在loginUser
功能
auth().signInAndRetrieveDataWithEmailAndPassword('user@user.com', '123456')
.then((user) => console.log(user))
.catch(erro => console.log(erro));
console.log('finish auth');
它对我有用 希望它会帮助你...