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

Опечатка в имени маршрута компилируется, хотя конфиг описан типом

type Route = { path: string; auth: boolean };

const routes: Record<string, Route> = {
  home: { path: "/", auth: false },
  orders: { path: "/orders", auth: true },
};

navigate(routes.ordres.path);   // опечатка

Опечатка прошла компиляцию и упала в рантайме. Как сохранить проверку формы каждого маршрута и при этом получить ошибку на routes.ordres?

  • Заменить аннотацию на satisfies Record<string, Route>
  • Добавить as const после объекта и оставить аннотацию
  • Заменить Record<string, Route> на Record<string, Route | undefined>
  • Описать routes через interface вместо type

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

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

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

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