Делаю первый проект на react и появился вопрос как правильно, тк везде используются разные подходы.
Есть страницы (часть стейта у всех одинаковая) :
Авторизация
Регистрация
Восстановление пароля
Например для страницы регистрации я сделал такой глобальный стейт
const initialState = {
isSuccess: false,
isLoading: false,
isError: false,
errorMessage: ""
};
На сабмит формы вызывается экшен
export const signupRequest = formData => async dispatch => {
try {
dispatch(signupRequestProcess());
const data = await api("post", "auth/signup", formData);
dispatch(signupSuccess(data));
} catch (error) {
dispatch(signupRequestError(error));
}
};
При этом я опустил onChange в компоненте формы, и стейт свойства для полей формы, потому что формы не большие и посчитал излишнем (возможно ошибаюсь), валидацию предоставляет ui библиотека .
Я видел еще примеры с статейтом внутри компонента, но тогда часть логики нужно писать в самом компоненте, тут я просто вызываю dispatch, а так придется писать обработку ответа в компоненте, не очень красиво на мой взгляд.
Как будет выглядеть оптимальная структура и подход для таких форм?