Legeplads

Ændr input. Se, hvordan restate svarer.

Syv eksperimenter kører den rigtige pakke. Controlleren til venstre hører til dette site; eksemplet til højre får kun props, så dets kode er præcis den, du selv ville skrive.

Controller — kun til sitetprops — broenEksempel — koden, du kopierer
01

To skærme, én store

Flere komponenter har brug for den samme værdi. Erklær den én gang, og læs den hvor som helst.

Det skal du holde øje med
  • Tryk på trinknappen: alle læsere viser det nye tal i samme øjeblik.
  • Ændr antallet af læsere: en ny læser starter fra den aktuelle værdi.

Forbereder eksemplet…

Kom i gang
02

Render kun det, der ændrede sig

En stor store bør ikke rendere alle komponenter igen ved hver ændring.

Det skal du holde øje med
  • Redigér kortet: kun kortet for hele storen renderes.
  • Tilføj en vare: varer og oversigt renderes; rabatkortet står stille.
  • Slå shallow fra: oversigten renderes ved hver ændring, fordi dens selector returnerer et nyt objekt hver gang.

Forbereder eksemplet…

Abonnér kun på det, du har brug for
03

Mange ændringer, én notifikation

At opdatere to stores én ad gangen lader en abonnent se en halvfærdig tilstand.

Det skal du holde øje med
  • Tøm hver for sig: abonnenten ser 0 varer sammen med den gamle rabatkode.
  • Tøm med batch: abonnenten kører én gang, efter at begge stores er ændret.

Forbereder eksemplet…

Abonnér kun på det, du har brug for
04

Gem, når du beslutter det

At redigere ændrer hukommelsen. At gemme er en eksplicit handling, og status viser, hvad der sker.

Det skal du holde øje med
  • Skriv: dirty slås til, og intet skrives endnu.
  • Hæv forsinkelsen, og gem: operation viser save, mens der skrives.
  • Afspil igen: den gemte kladde gendannes fra IndexedDB.

Forbereder eksemplet…

Gem, når du beslutter det
05

Skriv hurtigt, skriv én gang

At gemme ved hvert tastetryk oversvømmer lageret. autoSave venter på en pause.

Det skal du holde øje med
  • Skriv en sætning: ændringerne stiger hurtigt, mens skrivningerne vokser med én efter hver pause.
  • Vælg »Ved hver ændring«: hver ændring skriver, men at gå tilbage til den gemte værdi skriver ingenting.

Forbereder eksemplet…

Gem, når du beslutter det
06

Fejllaboratorium

Gør lageret langsomt, i stykker eller utilgængeligt, og se, hvordan restate bevarer dine data og melder problemet.

Det skal du holde øje med
  • Hæv forsinkelsen, og gem tre gange: anmodningerne deler én skrivning, så pending bliver på 1, og de tre resultater kommer samtidig.
  • Slå fejlende skrivninger til, og gem: dirty forbliver true, og error viser årsagen.
  • Gør lageret utilgængeligt: gem afvises med STORAGE_UNAVAILABLE, mens redigering stadig virker.

Forbereder eksemplet…

Pålidelighed by design
07

State pr. dokument

Hvert åbent dokument har brug for sin egen state, som frigives, når dokumentet lukkes.

Det skal du holde øje med
  • Skriv i dokument A og derefter i B: hver beholder sin egen tekst.
  • Luk dokument A, og åbn det igen: det starter tomt, fordi dets scope blev nedlagt.

Forbereder eksemplet…

State, der hører til en komponent

Søg i dokumentationen

Søg i titler, beskrivelser og tekst i alle guides.