État Frontend
Processus
- Classifiez chaque valeur : donnée serveur durable, état/navigation partageable via URL, brouillon de formulaire ou état temporaire de présentation. Choisissez un seul propriétaire autoritaire.
- Réutilisez les outils d'état/de data-fetching installés. Conservez l'état local près de ses consommateurs ; n'introduisez un état partagé que pour un besoin de coordination concret.
- Indexez les caches serveur par toutes les dimensions de requête et d'autorisation. Effacez ou isolez-les lors de la déconnexion, du changement de locataire et des changements d'identité.
- Modélisez explicitement les états de chargement, vide, erreur et succès. Pour les requêtes concurrentes, l'annulation peut réduire le travail, mais il faut également protéger l'acceptation des résultats afin qu'une réponse plus ancienne ne remplace pas une intention plus récente.
- Pour les mutations optimistes, réconciliez avec le serveur et définissez le comportement en cas d'échec. Une annulation ne doit pas effacer une mutation réussie plus récente ; suivez les opérations ou utilisez le modèle de concurrence pris en charge par la bibliothèque.
- Vérifiez la navigation avant/arrière, les nouvelles tentatives, les changements rapides d'entrée, les mutations échouées et le changement de compte.
Exemple
Rechercher A puis B : B revient en premier, A plus tard. Les résultats affichés restent B, et l'URL reflète la recherche en cours plutôt que l'ordre d'achèvement des réponses.
Conditions d'arrêt
Ne remplacez pas la bibliothèque d'état pour résoudre une race locale. Dupliquer la même valeur serveur dans des stores globaux indépendants crée une obligation de synchronisation.
Preuves
- Carte de possession d'état et clés de cache.
- Vérifications des races, rollbacks et transitions de session.
- Comportement visible de chargement et de récupération.
Référence
Workflow rédigé indépendamment après examen de react-state-management.