Моделируют sealed/union state (freezed): loading/data/error/empty; UI switch по типу; retry шлёт событие в notifier/bloc.
Разбор
- Не смешивайте nullable data + bool loading без дисциплины.
- Сохраняйте previous data при refresh error.
- Snackbar vs fullscreen error.
- Логирование без PII.
Итог
Явный UI-state делает экраны предсказуемыми и тестируемыми.