Speeltuin

Verander de invoer. Kijk hoe restate reageert.

Zeven experimenten draaien het echte pakket. De controller links hoort bij deze site; het voorbeeld rechts krijgt alleen props, dus de code is precies wat jij zou schrijven.

Controller — alleen van de siteprops — de brugVoorbeeld — de code die je kopieert
01

Twee schermen, één store

Meerdere componenten hebben dezelfde waarde nodig. Declareer hem één keer en lees hem overal.

Waar je op let
  • Druk op de stapknop: alle lezers tonen op hetzelfde moment het nieuwe getal.
  • Verander het aantal lezers: een nieuwe lezer begint bij de huidige waarde.

Voorbeeld voorbereiden…

Aan de slag
02

Render alleen wat veranderde

Een grote store mag niet bij elke bewerking elk component opnieuw renderen.

Waar je op let
  • Bewerk de kaart: alleen de kaart van de hele store rendert.
  • Voeg een artikel toe: artikelen en overzicht renderen; de couponkaart blijft stil.
  • Zet shallow uit: het overzicht rendert bij elke bewerking, omdat de selector elke keer een nieuw object teruggeeft.

Voorbeeld voorbereiden…

Abonneer je alleen op wat je nodig hebt
03

Veel wijzigingen, één melding

Twee stores na elkaar bijwerken laat een abonnee een halve toestand zien.

Waar je op let
  • Los legen: de abonnee ziet 0 artikelen samen met de oude coupon.
  • Legen met batch: de abonnee draait één keer, nadat beide stores zijn veranderd.

Voorbeeld voorbereiden…

Abonneer je alleen op wat je nodig hebt
04

Sla op wanneer jij besluit

Bewerken verandert het geheugen. Opslaan is een expliciete actie, en de status toont wat er gebeurt.

Waar je op let
  • Typ: dirty gaat aan en er wordt nog niets geschreven.
  • Verhoog de vertraging en sla op: operation toont save terwijl er wordt geschreven.
  • Speel opnieuw af: het opgeslagen concept wordt teruggezet uit IndexedDB.

Voorbeeld voorbereiden…

Sla op wanneer jij besluit
05

Typ snel, schrijf één keer

Opslaan bij elke toetsaanslag overspoelt de opslag. autoSave wacht op een pauze.

Waar je op let
  • Typ een zin: bewerkingen lopen snel op, terwijl schrijfacties na elke pauze met één groeien.
  • Kies „Bij elke bewerking”: elke bewerking schrijft, maar terug naar de opgeslagen waarde schrijft niets.

Voorbeeld voorbereiden…

Sla op wanneer jij besluit
06

Storingslab

Maak de opslag traag, kapot of onbeschikbaar en zie hoe restate je gegevens bewaart en het probleem meldt.

Waar je op let
  • Verhoog de vertraging en sla drie keer op: de verzoeken delen één schrijfactie, dus pending blijft op 1 en de drie resultaten komen samen binnen.
  • Laat schrijfacties mislukken en sla op: dirty blijft true en error toont de oorzaak.
  • Maak de opslag onbeschikbaar: opslaan wordt geweigerd met STORAGE_UNAVAILABLE terwijl bewerken blijft werken.

Voorbeeld voorbereiden…

Betrouwbaarheid by design
07

State per document

Elk open document heeft eigen state nodig, die vrijkomt als het document sluit.

Waar je op let
  • Typ in document A en dan in B: elk houdt zijn eigen tekst.
  • Sluit document A en open het opnieuw: het begint leeg, omdat de scope is vernietigd.

Voorbeeld voorbereiden…

State die bij een component hoort

Documentatie doorzoeken

Zoek in titels, beschrijvingen en de tekst van alle gidsen.