我正在尝试创建一个使用Firebase身份验证的应用程序。我想更改错误消息,因为我认为错误消息不是用户友好的。我已经创建了此登录功能,但出现此错误:Possible Unhandled Promise Rejection: ReferenceError: Can't find variable: errorTitle
这是我得到的代码:
try {
this.setState({
loading: true
});
let user = await auth.signInWithEmailAndPassword(email, password);
if (user) {
this.setState({
loading: false
});
this.props.navigation.navigate('Home');
}
} catch(error) {
switch (error.code) {
case 'auth/invalid-email':
errorTitle = 'Invalid Email';
errorMessage = 'Please enter a valid email address';
break;
case 'auth/user-not-found':
errorTitle = 'No User Found';
errorMessage = 'This email does not exist as a user. Please sign up if you want to gain access.';
break;
case 'auth/wrong-password':
errorTitle = 'Wrong Password';
errorMessage = 'The password is incorrect. Please try again.';
break;
default:
errorTitle = 'Error';
errorMessage = 'An undefined error happened.';
}
this.setState({
loading: false
});
Alert.alert(
errorTitle,
errorMessage,
);
}
我似乎无法理解导致错误的原因。我有一个try / catch块。这是一个React Native应用程序。
最佳答案
从我可以看到,您没有在代码中的任何地方声明errorTitle
或errorMessage
。您正在尝试为一个不存在的对象分配一个值。
尝试仅在let errorTitle
语句上方添加let errorMessage
和switch