Fiche 03.05 — Loading, Empty et Error Views réutilisables
Objectif
Comprendre comment créer des vues réutilisables pour afficher un chargement, un état vide ou une erreur dans plusieurs écrans SwiftUI.
1. L’idée à comprendre
Dans une vraie app, beaucoup d’écrans ont les mêmes états :
Au lieu de recoder ces interfaces dans chaque écran, tu peux créer des composants réutilisables :
Cela rend tes écrans plus propres et garde une interface cohérente dans toute l’app.
2. LoadingView simple
Utilisation :
3. LoadingView plein écran
Utilisation :
Cette version est utile quand tout l’écran est en chargement.
4. EmptyStateView
Un état vide explique à l’utilisateur pourquoi il n’y a rien à afficher.
Utilisation :
5. EmptyStateView avec action
Parfois, l’état vide doit proposer une action.
Utilisation :
6. ErrorStateView
Une vue d’erreur doit expliquer le problème et proposer de réessayer si possible.
Utilisation :
7. Exemple avec un écran complet
L’écran reste lisible parce que chaque état complexe est déplacé dans un composant.
8. Exemple avec ViewModel
Vue :
9. Où ranger ces composants ?
Comme ils sont souvent utilisés partout :
Si un état vide est spécifique à une feature, il peut rester dans la feature.
Exemple :
10. Preview
11. Points à connaître
Un état vide doit expliquer quoi faire
Pas très utile :
Mieux :
Une erreur doit être compréhensible
Évite d’afficher directement une erreur technique à l’utilisateur.
Pas idéal :
Mieux :
Le retry doit être simple à brancher
Un ErrorStateView doit recevoir une closure :
Comme ça, chaque écran décide quoi relancer.
Résumé
À retenir :
- crée des vues réutilisables pour loading, empty et error ;
- cela évite de répéter le même code dans tous les écrans ;
LoadingViewaffiche un chargement ;EmptyStateViewexplique pourquoi il n’y a rien ;ErrorStateViewaffiche une erreur et peut proposer un retry ;- ces composants vont souvent dans
Shared/Components/States; - un bon état vide ou erreur doit aider l’utilisateur à comprendre quoi faire.