Встречается на собеседованиях • сегодня

Расскажи про последнюю сложную задачу

Недавно разрабатывал динамическую форму с валидацией, где поля зависели друг от друга. Например, при выборе "Доставка" появлялись дополнительные поля адреса, а при "Самовывозе" — выбор пункта выдачи.

Основная сложность была в каскадной валидации и синхронизации состояния. Решил через React Hook Form + Yup, где схема валидации динамически пересчитывалась:

jsx
const schema = yup.lazy(values => {
  const baseSchema = { name: yup.string().required() };
  if (values.deliveryType === 'courier') {
    baseSchema.address = yup.string().required();
  }
  return yup.object().shape(baseSchema);
});

Оптимизировал ререндеры через useWatch, а сложную логику вынес в кастомный хук. В итоге форма работала плавно даже при 50+ полях.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы