Чем discriminated union для UI state отличается от много boolean флагов и когда что выбрать во Vue.js?

Vue.jsMiddleTypeScript in VueСравнениеvue|vuejs|frontend|typescript in vue|discriminated|discriminated union для ui state

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

Сравнение: discriminated union для UI state нельзя оценивать в вакууме; обычно его сравнивают с много boolean флагов. Выбор зависит от размера компонента, источника состояния, lifecycle, требований к SSR, тестируемости и командных соглашений.

Ответ:

Когда выбирать discriminated union для UI state: когда его свойства напрямую решают задачу.

Плохой ответ: «так принято» без объяснения trade-off.

type State = { type: 'loading' } | { type: 'success'; data: User[] }

Источники

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