Назад к вопросам
Middle
3
interface FormState { values: FormValues; errors: FormErrors; isLoading: boolean; } const [formState, setFormState] = useState<FormState>({ values: { email: '', password: '', }, errors: {}, isLoading: false, });
Компании, где спрашивали
нейровэд
Ответ от нейросети
sobes.tech AI
В данном коде объявляется интерфейс FormState, описывающий состояние формы с полями values, errors и isLoading. Затем создаётся состояние formState с помощью React хука useState.
valuesсодержит текущие значения полей формы, например, email и password.errors— объект с ошибками валидации для каждого поля.isLoading— флаг загрузки, например, при отправке формы.
Пример использования:
// Обновление значения поля email
setFormState(prev => ({
...prev,
values: {
...prev.values,
email: 'user@example.com',
},
}));
// Установка ошибки для password
setFormState(prev => ({
...prev,
errors: {
...prev.errors,
password: 'Пароль слишком короткий',
},
}));
// Установка загрузки
setFormState(prev => ({ ...prev, isLoading: true }));
Такой подход позволяет централизованно хранить состояние формы и удобно обновлять отдельные части без потери остальных данных.