Вступить в клуб →
средняявопросTypeScript: дженерики и контракты с API

Состояние загрузки описано тремя флагами, и в UI бывают невозможные сочетания

type OrdersState = {
  isLoading: boolean;
  error?: string;
  data?: Order[];
};

В интерфейсе периодически одновременно показываются спиннер и ошибка, или ошибка и старые данные. Какое описание типа исключит такие состояния на уровне компилятора?

  • Размеченное объединение: loading, error с текстом, success с данными
  • Сделать все три поля обязательными, без знаков вопроса
  • Заменить isLoading на status: string
  • Добавить поле isSuccess: boolean для полноты

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела