react-native - null 不是对象:(评估 this.state.email)
问题描述
我正在创建登录表单。但是有一些关于这个问题的问题。这就是我迄今为止所做的。
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 功能无法正常工作...谢谢您的帮助!
解决方案
在您的班级声明后添加此代码:
state = {
email: '',
password: '',
}
代码失败是因为您试图获取不存在的 obj 密钥。您需要先创建它。
推荐阅读
- javascript - Vue - 子组件中的访问道具,常规 javascript
- javascript - 未处理的 JS 异常:意外的令牌 '<' 没有堆栈
- excel - 比较两个具有笛卡尔坐标的表并计算差异
- php - 如何使用 Eloquent 从中间表中获取所有关系?
- reactjs - 如何从 Ionic React 的本地存储中读取数据?
- php - 使用 cronjob 触发时出现“邮件程序错误:邮件正文为空”
- java - 将项目添加到作为另一个类的成员变量的数组中?
- python - 神经网络值错误
- flutter - 如何从 iOS 和 Android 下载文件夹中的 firebase 下载 pdf 文件 - Flutter
- kubernetes - 在 GKE 中为 Cloud Filestore 定义挂载点