Вы регистрируете свою функцию в качестве обработчика отправки для формы:
<Form validated={validated} onSubmit={(event) => loginToAccount(event)}>
Когда отправляется форма HTML, по умолчанию она отправляет данные на сервер в виде запроса. который уходит с текущей страницы. Лог c здесь заключается в том, что сервер обрабатывает запрос и отправляет ответ клиенту, который затем обрабатывает. Примерно так Интернет работал 20+ лет go, следовательно, это поведение по умолчанию для форм HTML.
Итак, с закомментированным preventDefault
ваш код начинает входить в Firebase и затем сразу уходит (скорее всего, просто перезагружая ту же страницу). Это прерывает вход в систему, поэтому вы видите сообщение об ошибке.
Вызывая event.preventDefault()
, вы указываете, что хотите предотвратить поведение по умолчанию (отправку формы на сервер), поскольку ваш код обрабатывает это сам (вызывая loginRequest
).
Вызов stopPropagation
останавливает браузер от предоставления родительским HTML элементам возможности действовать в соответствии с событием. Обычно это не требуется для предотвращения отправки формы, но немного зависит от сгенерированного HTML.