3. Окно для регистрации пользователя - qwsnxnjene/courier-transport GitHub Wiki
Signup.js
— это React-компонент, реализующий форму регистрации пользователя. Он отвечает за ввод данных для регистрации, обработку отправки формы, отображение ошибок и возврат к форме авторизации.
Основные функции компонента
-
Состояния компонента:
signupData
: объект с полямиlogin
,password
,confirmPassword
для хранения введённых пользователем данных.error
: строка для отображения ошибок регистрации.success
: булево значение, определяющее успешность регистрации.
-
Обработка ввода:
- Функция
handleInputChange
обновляет соответствующее поле вsignupData
при изменении значения в input.
- Функция
-
Регистрация:
- Функция
handleSignup
отправляет POST-запрос на/api/auth/signup
с введёнными данными. - В случае успеха отображает сообщение об успешной регистрации и вызывает
onSignupSuccess
. - В случае ошибки отображает сообщение пользователю.
- Функция
-
Переход к авторизации:
- При клике на ссылку "Уже есть аккаунт? Войти" возвращает к компоненту
Login
.
- При клике на ссылку "Уже есть аккаунт? Войти" возвращает к компоненту
-
UI:
- Форма с полями для логина, пароля и подтверждения пароля, кнопка отправки, обработка ошибок, кнопка закрытия.
Пример использования
<Signup
onSignupSuccess={() => { /* действия после успешной регистрации */ }}
onClose={() => { /* закрытие модального окна */ }}
/>
Взаимодействие с сервером
- Запрос отправляется на
http://localhost:3031/api/auth/signup
. - Ожидается ответ с подтверждением успешной регистрации.
Внешний вид
- Используются CSS-классы:
profile-overlay
,profile-panel
,close-profile
,signup-form
,form-group
,signup-button
,error-message
. - Форма реализована как модальное окно.
Зависимости
- React (
useState
) - Компонент
Login
для возврата к авторизации