我正在创建登录表单。但是对此有一些疑问。这是我到目前为止所做的。
loginUser = async(email, password) => {
if(email != '' && password != ''){
try {
let user = await auth.signInWithEmailAndPassword(email,password);
console.log(user);
} catch (error) {
console.log(error);
}
} else {
alert("some error")
}
}
和渲染内:
render(){
return(
<View>
<Text>Email</Text>
<TextInput
onChangeText={(text) => this.setState({email: text})}
value={this.state.email}
/>
<Text>Password</Text>
<TextInput
onChangeText={(text) => this.setState({password: text})}
value={this.state.password}
secureTextEntry={true}
/>
<TouchableHighlight style={{backgroundColor: "green"}}
onPress={() => this.loginUser(this.state.email, this.state.password)}>
<Text>Login!</Text>
</TouchableHighlight>
<TouchableHighlight style={{backgroundColor: "green"}}
onPress={()=> this.loginWithFacebook()}>
<Text>Login with Facebook!</Text>
</TouchableHighlight>
</View>
);
}
}
我在这里做错了什么?因为loginUser函数无法正常工作,谢谢您!
答案 0 :(得分:1)
我在代码中看不到构造函数。尝试添加它。
constructor(props){
super(props);
this.state = {
}
}
答案 1 :(得分:1)
添加以下代码,让您的班级脱颖而出:
state = {
email: '',
password: '',
}
代码失败,因为您试图获取不存在的obj的密钥。您需要先创建它。