Когда в проекте стоит использовать discriminated unions для UI state, а когда лучше выбрать другой подход?

AngularMiddle+Angular CoreТеорияangulartypescriptunionstypescript-for-angularmiddleplus

Что хотят услышать интервьюеры:

discriminated unions для UI state — это удобны для статусов loading/success/error и exhaustive checks.

Ответ:

Использовать стоит: когда задача действительно требует этого механизма и есть понятный контракт использования.

Лучше не использовать: когда простое состояние, обычный компонент или сервис решают задачу проще.

Пример:

@Component({
  selector: 'app-user', template: '{
  {
  name
}

}
'
}
)
export class UserComponent {
  name = 'Alex';
}

Риск: хранить три boolean-флага вместо явного state union.

Источники

Похожие вопросы