Sobes.tech
Middle

liides FormState { väärtused: FormValues; vead: FormErrors; laadimine: boolean; } const [vormiOleku, setVormiOleku] = useState<FormState>({ väärtused: { email: '', parool: '', }, vead: {}, laadimine: false, });

sobes.tech AI

Vastus AI-lt

В данном коде объявляется интерфейс 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 }));

Такой подход позволяет централизованно хранить состояние формы и удобно обновлять отдельные части без потери остальных данных.