#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)