Naviguer dépasse innerHTML
La navigation met à jour historique, métadonnées, focus, défilement et états Loading/Error/NotFound, pas seulement le HTML visible.
#[State, Shared('cart.count'), Persisted('local', 'shop.cart', version: 2, expiresAfter: 86400)]
private int $count = 0;Persister volontairement
#[Persisted('local')] survit au redémarrage du navigateur; session seulement à l’onglet. Version et expiration évitent les anciens formats éternels.
L’état partagé doit être nommé
#[Shared('cart.count')] donne le même état nommé à plusieurs composants. Un état local non nommé reste propriété de sa page.