Чем discriminated union для UI state отличается от много boolean флагов и когда что выбрать во Vue.js?
Что хотят услышать интервьюеры:
Сравнение: discriminated union для UI state нельзя оценивать в вакууме; обычно его сравнивают с много boolean флагов. Выбор зависит от размера компонента, источника состояния, lifecycle, требований к SSR, тестируемости и командных соглашений.
Ответ:
Когда выбирать discriminated union для UI state: когда его свойства напрямую решают задачу.
Плохой ответ: «так принято» без объяснения trade-off.
type State = { type: 'loading' } | { type: 'success'; data: User[] }