В настоящее время я работаю над модальным логином, который будет аутентифицировать пользователя с помощью функции firebase. Если они не существуют, я планирую использовать библиотеку реактивную ленту, чтобы перекрасить поля в красный цвет и сделать сообщение типа «Неверный адрес электронной почты или пароль». Тем не менее, я новичок ie в React, и у меня возникли большие проблемы с получением возвращаемого объекта / номера из функции firebase, когда в форме электронной почты я вызываю onAuthenticate = {firebase.authenticateUser}. Как я могу получить возвращаемый объект (-1, если пользователь не существует), проверить его и либо закрыть модальное окно, либо повернуть его красным с помощью ремешка реакции, если пользователь не существует?
Фрагмент моей базы огня функция, за которой следует мой модал React ниже.
'' '
exports.authenticateUser = async (email, password) => {
firebase.auth().signInWithEmailAndPassword(email, password)
.then(() => {
const success = {
success: true,
};
alert('User exists.');
console.log('user exists');
return success;
})
.catch((error) => {
alert('Invalid email or password.');
console.log('no user');
return -1;
});
};
return (
<Modal
title="Please enter log-in information"
onClose={onClose}
footer={modalFooter}
titleBackgroundColor="#FFFACD"
>
<FormGroup>
<Label for="examplePassword">Invalid input</Label>
<Input invalid />
<FormFeedback tooltip>Oh noes! that name is already taken</FormFeedback>
<FormText>Example help text that remains unchanged.</FormText>
</FormGroup>
<EmailForm
onAuthenticate={firebase.authenticateUser}
const returnObj = {firebase.authenticateUser}
/>
</Modal>
);
' ''