45 / 58
Как использовать discriminated unions для state management?
Discriminated union — это union тип, где у каждого варианта есть общее поле-дискриминант с уникальным литеральным значением. Для state management это значит, что каждое состояние (loading, success, error) описано отдельным типом, а TypeScript сам определяет, какие поля доступны. Это исключает невозможные состояния вроде { loading: true, error: "oops" } на уровне компиляции.