Playground

Changez les entrées. Regardez restate réagir.

Sept expériences exécutent le vrai paquet. Le contrôleur de gauche appartient à ce site ; l’exemple de droite ne reçoit que des props, son code est donc exactement ce que vous écririez.

Contrôleur — propre au siteprops — le pontExemple — le code que vous copiez
01

Deux écrans, un store

Plusieurs composants ont besoin de la même valeur. Déclarez-la une fois et lisez-la partout.

À observer
  • Appuyez sur le bouton d’incrément : tous les lecteurs affichent le nouveau nombre en même temps.
  • Changez le nombre de lecteurs : un nouveau lecteur part de la valeur actuelle.

Préparation de l’exemple…

Bien démarrer
02

Ne rendre que ce qui a changé

Un gros store ne devrait pas re-rendre tous les composants à chaque changement.

À observer
  • Modifier le message : seule la carte qui lit tout le store se rend.
  • Ajouter un article : les articles et le récapitulatif se rendent ; la carte du code promo ne bouge pas.
  • Désactivez shallow : le récapitulatif se rend à chaque changement, car son selector renvoie un nouvel objet à chaque fois.

Préparation de l’exemple…

Ne s’abonner qu’au nécessaire
03

Plusieurs changements, une notification

Mettre à jour deux stores l’un après l’autre laisse un abonné voir un état à moitié fini.

À observer
  • Vider séparément : l’abonné voit 0 article avec l’ancien code promo.
  • Vider avec batch : l’abonné s’exécute une fois, après le changement des deux stores.

Préparation de l’exemple…

Ne s’abonner qu’au nécessaire
04

Enregistrer quand vous le décidez

Modifier change la mémoire. Enregistrer est une action explicite, et le statut montre ce qui se passe.

À observer
  • Tapez : dirty s’active et rien n’est encore écrit.
  • Augmentez la latence et enregistrez : operation affiche save pendant l’écriture.
  • Rejouez : le brouillon enregistré est restauré depuis IndexedDB.

Préparation de l’exemple…

Enregistrer quand vous le décidez
05

Tapez vite, écrivez une fois

Enregistrer à chaque frappe sature le stockage. autoSave attend une pause.

À observer
  • Tapez une phrase : les modifications grimpent vite tandis que les écritures n’augmentent que d’une après chaque pause.
  • Choisissez « À chaque changement » : chaque modification écrit, mais revenir à la valeur enregistrée n’écrit rien.

Préparation de l’exemple…

Enregistrer quand vous le décidez
06

Labo des pannes

Rendez le stockage lent, défaillant ou indisponible, et regardez restate préserver vos données et signaler le problème.

À observer
  • Augmentez la latence et enregistrez trois fois : les demandes partagent une écriture, donc pending reste à 1 et les trois résultats arrivent ensemble.
  • Activez l’échec des écritures et enregistrez : dirty reste à true et error indique la cause.
  • Rendez le stockage indisponible : l’enregistrement est rejeté avec STORAGE_UNAVAILABLE tandis que l’édition continue de fonctionner.

Préparation de l’exemple…

Fiabilité dès la conception
07

État par document

Chaque document ouvert a besoin de son propre état, libéré à la fermeture du document.

À observer
  • Tapez dans le document A, puis dans le B : chacun garde son propre texte.
  • Fermez le document A puis rouvrez-le : il repart vide, car son scope a été détruit.

Préparation de l’exemple…

Un état propre à un composant

Rechercher dans la documentation

Recherche dans les titres, les descriptions et le texte de tous les guides.