Lekeplass

Endre inndata. Se hvordan restate svarer.

Sju eksperimenter kjører den ekte pakken. Kontrolleren til venstre hører til dette nettstedet; eksempelet til høyre får bare props, så koden er nøyaktig den du selv ville skrevet.

Kontroller — bare for nettstedetprops — broenEksempel — koden du kopierer
01

To skjermer, én store

Flere komponenter trenger den samme verdien. Deklarer den én gang og les den hvor som helst.

Hva du skal se etter
  • Trykk på stegknappen: alle leserne viser det nye tallet i samme øyeblikk.
  • Endre antall lesere: en ny leser starter fra gjeldende verdi.

Forbereder eksempelet …

Kom i gang
02

Render bare det som endret seg

En stor store bør ikke rendere alle komponenter på nytt ved hver endring.

Hva du skal se etter
  • Rediger kortet: bare kortet for hele storen renderes.
  • Legg til en vare: varer og sammendrag renderes; rabattkortet står stille.
  • Slå av shallow: sammendraget renderes ved hver endring, fordi selectoren returnerer et nytt objekt hver gang.

Forbereder eksempelet …

Abonner bare på det du trenger
03

Mange endringer, ett varsel

Å oppdatere to stores én om gangen lar en abonnent se en halvferdig tilstand.

Hva du skal se etter
  • Tøm hver for seg: abonnenten ser 0 varer sammen med den gamle rabattkoden.
  • Tøm med batch: abonnenten kjøres én gang, etter at begge stores er endret.

Forbereder eksempelet …

Abonner bare på det du trenger
04

Lagre når du bestemmer

Redigering endrer minnet. Lagring er en eksplisitt handling, og statusen viser hva som skjer.

Hva du skal se etter
  • Skriv: dirty slås på, og ingenting skrives ennå.
  • Øk forsinkelsen og lagre: operation viser save mens skrivingen pågår.
  • Spill av igjen: det lagrede utkastet gjenopprettes fra IndexedDB.

Forbereder eksempelet …

Lagre når du bestemmer
05

Skriv raskt, skriv én gang

Å lagre ved hvert tastetrykk oversvømmer lagringen. autoSave venter på en pause.

Hva du skal se etter
  • Skriv en setning: endringene stiger raskt, mens skrivingene øker med én etter hver pause.
  • Velg «Ved hver endring»: hver endring skriver, men å gå tilbake til den lagrede verdien skriver ingenting.

Forbereder eksempelet …

Lagre når du bestemmer
06

Feillaboratorium

Gjør lagringen treg, ødelagt eller utilgjengelig, og se hvordan restate tar vare på dataene og melder fra om problemet.

Hva du skal se etter
  • Øk forsinkelsen og lagre tre ganger: forespørslene deler én skriving, så pending blir stående på 1 og de tre resultatene kommer samtidig.
  • Slå på feilende skrivinger og lagre: dirty forblir true, og error viser årsaken.
  • Gjør lagringen utilgjengelig: lagring avvises med STORAGE_UNAVAILABLE mens redigering fortsatt fungerer.

Forbereder eksempelet …

Pålitelighet by design
07

State per dokument

Hvert åpne dokument trenger sin egen state, som frigjøres når dokumentet lukkes.

Hva du skal se etter
  • Skriv i dokument A og så i B: hvert beholder sin egen tekst.
  • Lukk dokument A og åpne det igjen: det starter tomt, fordi scopet ble ødelagt.

Forbereder eksempelet …

State som hører til en komponent

Søk i dokumentasjonen

Søk i titler, beskrivelser og tekst i alle guider.