Retour à la leçon
Mission

Mission : expliquer pourquoi le compteur du Spinner perd toujours son état

Diagnostiquer une perte d'état liée à la règle de diffing sur le type, puis corriger un mismatch d'hydration causé par une valeur non déterministe.

Contexte

Sur DashboardPage.jsx, un compteur de tentatives de reconnexion (useState local) est défini À L'INTÉRIEUR du composant Spinner affiché pendant chargement. Un développeur constate que ce compteur revient systématiquement à zéro chaque fois que chargement repasse à true après avoir été false, alors que rien dans le code ne réinitialise explicitement ce state. Par ailleurs, la console affiche toujours l'avertissement de mismatch d'hydration à cause de new Date().toLocaleTimeString() rendu directement dans le JSX.