我正在尝试创建一个使用 Firebase 身份验证的应用。我想更改错误消息,因为我觉得错误消息对用户不友好。我已经创建了此登录功能,但收到此错误:
可能的未处理的 promise 拒绝:ReferenceError:找不到变量: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 block 。这是一个 React Native 应用程序。
最佳答案
据我所知,您没有在代码中的任何地方声明 errorTitle
或 errorMessage
。您正在尝试为不存在的东西分配一个值。
尝试在 switch
语句上方添加 let errorTitle
和 let errorMessage
关于javascript - 可能未处理的 Promise 拒绝 : Can't find variable ErrorTitle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61116996/