App loads and Authentication form shows android emulator showing error
嗨,所以我是React的新手,我正在遵循这个Udemy课程..当我尝试运行时,我的应用程序已加载,它将身份验证表单呈现为魅力而没有错误或警告
但是一旦我尝试登录,一旦我点击登录按钮:弹出可怕的红色屏幕。
我经历了所有相似的科目,但他们似乎没有解决我的错误..我甚至无法得到这里究竟是什么错误
这是我的LoginForm.js:
import { connect } from 'react-redux';
import React, { Component } from 'react';
import { Card, CardSection, Input, Button } from './common';
import { emailChanged, passwordChanged, loginUser } from '../actions';
class LoginForm extends Component {
onEmailChange(text) {
this.props.emailChanged(text);
}
onPasswordChange(text) {
this.props.passwordChanged(text);
}
onButtonPress() {
const { email, password } = this.props;
this.props.loginUser({ email, password });
}
render() {
return (
<Card>
<CardSection>
<Input
label="Email"
placeholder="votre email ici"
onChangeText={this.onEmailChange.bind(this)}
value={this.props.email}
/>
</CardSection>
<CardSection>
<Input
secureTextEntry
label="mot de passe"
placeholder="mot de passe"
onChangeText={this.onPasswordChange.bind(this)}
value={this.props.password}
/>
</CardSection>
<CardSection>
<Button onPress={this.onButtonPress.bind(this)}>
Login
</Button>
</CardSection>
</Card>
);
}
}
const mapStateToProps = (state) => {
return {
email: state.auth.email,
password: state.auth.password
};
};
export default connect(mapStateToProps, { emailChanged, passwordChanged,
loginUser })(LoginForm);
这是我的行动创作者:
import firebase from 'firebase';
import {
EMAIL_CHANGED,
PASSWORD_CHANGED,
LOGIN_USER_SUCCESS
} from './types';
export const emailChanged = (text) => {
return {
type: EMAIL_CHANGED,
paymoad: text
};
};
export const passwordChanged = (text) => {
return {
type: PASSWORD_CHANGED,
payload: text
};
};
export const loginUser = ({ email, password }) => {
return (dispatch) => {
firebase.auth().signInWithEmailAndPassword(email, password)
.then(user => {
dispatch({ type: LOGIN_USER_SUCCESS, payload: user });
});
};
};
答案 0 :(得分:2)
在emailChanged action
中,您使用了错误的密钥来处理有效负载。您使用payload
paymoad
使用此功能,您不会更新商店,并且电子邮件的值无效。