Я получаю первый аргумент «email», который должен быть допустимой строковой ошибкой при аутентификации firebase в react

#javascript #reactjs #firebase #firebase-authentication

#javascript #reactjs #firebase #firebase-аутентификация

Вопрос:

Я пытаюсь создать аутентификацию firebase для своего приложения react.Но я отображаю эту ошибку после нажатия кнопки входа в систему

Первый аргумент «email» должен быть допустимой строкой.

это функция, которая активируется, когда я нажимаю кнопку

 const login = async (e) => {
        try{
            e.preventDefault();
            console.log(email)
            console.log(typeof email)
            console.log(password)
            await firebaseApp.login()
            history.push('/daily')
        }catch(error){
            alert(error.message)
        }
    }
  

и это функция входа в класс FirebaseApp

 login(email, password){
    return this.auth.signInWithEmailAndPassword(email, password)
  }
  

самое странное, что когда я пытаюсь утешить.запишите тип письма, в котором отображается строка, и он также отображает адрес электронной почты и пароль, которые я ввел
, но все равно выдает ошибку. Где я ошибаюсь?

Комментарии:

1. почему вы не передаете здесь адрес электронной почты и пароль await firebaseApp.login() ? (аргументы для метода входа в систему)

2. я просто забыл это сделать … большое спасибо за указание it..it было так глупо

3. все в порядке, это случается!

Ответ №1:

Ваша функция входа в систему принимает два параметра: адрес электронной почты и пароль:

 login(email, password){
    return this.auth.signInWithEmailAndPassword(email, password)
}
  

Но вы вызываете его без параметров:

 firebaseApp.login()
  

Это означает, что адрес электронной почты и пароль будут undefined , что не является допустимым строковым значением. Это то, о чем вам сообщает сообщение об ошибке.

Передайте правильные параметры:

 firebaseApp.login(email, password)