我正在尝试创建一个使用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应用程序。

最佳答案

从我可以看到,您没有在代码中的任何地方声明errorTitleerrorMessage。您正在尝试为一个不存在的对象分配一个值。

尝试仅在let errorTitle语句上方添加let errorMessageswitch

10-01 10:08