interface FormState {

В данном коде объявляется интерфейс FormState, описывающий состояние формы с полями values, errors и isLoading. Затем создаётся состояние formState с помощью React хука useState.

Короткий ответ

Что ответить на собеседовании

В данном коде объявляется интерфейс FormState, описывающий состояние формы с полями values, errors и isLoading. Затем создаётся состояние formState с помощью React хука useState.

Подробный разбор

Ответ с пояснениями

Условие

interface FormState { values: FormValues; errors: FormErrors; isLoading: boolean; }

const [formState, setFormState] = useState<FormState>({ values: { email: '', password: '', }, errors: {}, isLoading: false, });

Ответ

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

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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку