【发布时间】:2021-01-03 21:04:52
【问题描述】:
我正在尝试使用 firebase 在 react-native 中执行登录应用程序,目前我尝试打开该应用程序,一个警报显示“错误:电子邮件地址格式错误”。 当我按下登录按钮时,错误是“TypeError:_this.props.onPress 不是一个函数。(In'_this.props.onPress' 是 Promise 的一个实例)”
登录.js
import React, { useState } from 'react';
import { Text, View, TouchableHighlight, TextInput } from 'react-native';
import firebaseService from '../../services/firebase';
import Main from '../main/Main';
import styles from './styles';
const Login = ({navigation}) => {
const[user, setUser] = useState('');
const[pass, setPass] = useState('');
const onPressLogin = async () => {
try{
await firebaseService.login(user, pass);
navigation.navigate(Main);
} catch (e) {
alert(e);
}
}
return (
<View style={styles.container}>
<View>
<TextInput
placeholder="Email"
value={user}
onChange = {(e) => setUser(e.nativeEvent.text)}
style={styles.inputText}
/>
<TextInput
placeholder="Password"
value={pass}
onChange = {(e) => setPass(e.nativeEvent.text)}
style={styles.inputText}
/>
</View>
<TouchableHighlight style={[styles.button, styles.loginButton]}onPress={onPressLogin()}>
<Text style={styles.textButton}>Login</Text>
</TouchableHighlight>
<TouchableHighlight style={[styles.button, styles.signUpButton]} onPress={() => navigation.navigate('SignUp')}>
<Text style={styles.textButton}>Create new user</Text>
</TouchableHighlight>
</View>
);
}
export default Login;
firebase.js
import * as firebase from "firebase/app";
import 'firebase/firebase-firestore';
import 'firebase/firebase-auth';
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
const firebaseConfig = {
apiKey: "*******",
authDomain: "*******",
databaseURL: "*******",
projectId: "*******",
storageBucket: "*******",
messagingSenderId: "*******",
appId: "*******",
measurementId: "*******"
}
class Firebase {
constructor(){
firebase.initializeApp(firebaseConfig);
this.auth = firebase.auth();
}
login = (email, pass) => {
return this.auth.signInWithEmailAndPassword(email, pass);
}
}
const firebaseService = new Firebase();
export default firebaseService;
【问题讨论】:
标签: android reactjs firebase react-native firebase-realtime-database