Hřiště

Měňte vstupy. Sledujte, jak restate odpovídá.

Sedm experimentů spouští skutečný balíček. Ovladač vlevo patří tomuto webu; příklad vpravo dostává jen props, takže jeho kód je přesně to, co byste napsali vy.

Ovladač — jen pro webprops — mostPříklad — kód, který kopírujete
01

Dvě obrazovky, jeden store

Několik komponent potřebuje stejnou hodnotu. Deklarujte ji jednou a čtěte kdekoli.

Co sledovat
  • Stiskněte tlačítko kroku: všichni čtenáři ukážou nové číslo ve stejný okamžik.
  • Změňte počet čtenářů: nový čtenář začne od aktuální hodnoty.

Příprava příkladu…

Začínáme
02

Překreslete jen to, co se změnilo

Velký store by neměl při každé úpravě překreslovat každou komponentu.

Co sledovat
  • Upravte kartičku: překreslí se jen karta celého store.
  • Přidejte položku: překreslí se položky a souhrn; karta kupónu zůstává.
  • Vypněte shallow: souhrn se překreslí při každé úpravě, protože jeho selector pokaždé vrací nový objekt.

Příprava příkladu…

Odebírejte jen to, co potřebujete
03

Mnoho změn, jedno upozornění

Aktualizace dvou store jeden po druhém umožní odběrateli vidět napůl hotový stav.

Co sledovat
  • Vyprázdnit zvlášť: odběratel uvidí 0 položek spolu se starým kupónem.
  • Vyprázdnit přes batch: odběratel se spustí jednou, až se změní oba story.

Příprava příkladu…

Odebírejte jen to, co potřebujete
04

Ukládejte, když se rozhodnete

Úprava mění paměť. Uložení je explicitní akce a stav ukazuje, co se děje.

Co sledovat
  • Pište: dirty se zapne a zatím se nic nezapisuje.
  • Zvyšte latenci a uložte: operation ukazuje save, zatímco zápis probíhá.
  • Přehrajte znovu: uložený koncept se obnoví z IndexedDB.

Příprava příkladu…

Ukládejte, když se rozhodnete
05

Pište rychle, zapisujte jednou

Ukládání při každém stisku klávesy zahltí úložiště. autoSave čeká na pauzu.

Co sledovat
  • Napište větu: úpravy rychle přibývají, zatímco zápisů přibude jeden po každé pauze.
  • Zvolte „Při každé úpravě“: každá úprava se zapíše, ale návrat k uložené hodnotě nezapíše nic.

Příprava příkladu…

Ukládejte, když se rozhodnete
06

Laboratoř poruch

Udělejte úložiště pomalé, rozbité nebo nedostupné a sledujte, jak restate uchová vaše data a nahlásí problém.

Co sledovat
  • Zvyšte latenci a uložte třikrát: požadavky sdílejí jeden zápis, takže pending zůstane na 1 a tři výsledky dorazí společně.
  • Zapněte selhávající zápisy a uložte: dirty zůstane true a error ukáže příčinu.
  • Nastavte úložiště jako nedostupné: uložení se odmítne se STORAGE_UNAVAILABLE, zatímco úpravy dál fungují.

Příprava příkladu…

Spolehlivost by design
07

Stav pro každý dokument

Každý otevřený dokument potřebuje vlastní stav, který se při zavření dokumentu uvolní.

Co sledovat
  • Pište do dokumentu A a pak do B: každý si ponechá svůj text.
  • Zavřete dokument A a znovu ho otevřete: začne prázdný, protože jeho scope byl zničen.

Příprava příkladu…

Stav patřící komponentě

Hledat v dokumentaci

Hledejte v nadpisech, popisech a textu všech průvodců.