1012 B
1012 B
| title |
|---|
| Polling Frontend — ETag, Selectors, Cadence |
Objectif
Réduire les rafraîchissements inutiles et le « clignotement » via ETag, selectors mémoïsés et cadence contrôlée.
Implémentation
- ETag/If-None-Match activés dans
src/services/folderApi.ts - Sélecteurs Reselect:
src/store/selectors.ts - Limitation de polling:
src/App.tsx(backoff exponentiel, max 30 itérations) - Pause onglet caché (Page Visibility API)
- Mémos:
UploadView.tsxetLayout.tsx(useMemo/React.memo)
Bonnes pratiques
- N’actualiser l’état Redux que si les données changent réellement (comparaison profonde)
- Afficher Skeletons pour les documents en traitement
- Éviter setState inutiles dans les listes (items mémoïsés)
Tests à réaliser
- Vérifier qu’un 304 Not Modified ne déclenche pas de re-render
- Observer l’absence de clignotement lors de l’arrivée d’un seul nouveau document
- Valider l’arrêt du polling après 30 tentatives ou à stabilisation