smalljs$molHledat⌘ KDokumentacePlaygroundPorovnáníEkosystémO projektuCS
Stav a reaktivitaGetting StartedÚvodMyšlenkový modelZačínámeZ TypeScriptu do view.treeStruktura projektuNástrojeEssentialsInstalacePohledyStav a reaktivitaSměrováníVykreslováníTestováníNasazeníŘešení problémůDataNačítání datDatová schémataGiper BazaMoreVýkladní skříňZ React, Vue a SvelteKuchařkaAdvancedPluginyMetadata moduluOfflineGhost pohledyAboutČasté dotazyTýmVydáníAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

Stav a reaktivita

Stav v $mol se chová jako tabulkový procesor: deklarujete, jak se hodnota vypočítá, a vše, co na ní závisí, se aktualizuje samo. Žádné úložiště, žádný dispatch, žádné effect hooky — graf závislostí sleduje, co přepočítat.

Reaktivní vlastnosti

Metoda ozdobená @ $mol_mem je uložená (cachovaná) reaktivní buňka. Spustí se jednou, zapamatuje si výsledek a přepočítá se jen tehdy, když se změnilo něco, co přečetla.1namespace $.$$ {2 export class $my_counter extends $.$my_counter {3 @ $mol_mem count() { return 0 }4 5 @ $mol_mem doubled() {6 return this.count() * 27 }8 }9}doubled čte count, takže se k count automaticky přihlásí. Změňte count a každý pohled zobrazující doubled se obnoví — není třeba se ničeho přihlašovat ručně.

Čtení a zápis

Vlastnost je zároveň getter i setter: zavolejte ji bez argumentu pro čtení, s argumentem pro zápis.1@ $mol_action2increment() {3 this.count( this.count() + 1 )4}

Akce vs. výpočty

Toto jediné rozlišení udržuje reaktivní kód předvídatelný:@ $mol_mem je čistý výpočet — jen čte jiné buňky a vrací hodnotu.@ $mol_action je efekt — zápisy do stavu, síťová volání a časovače patří sem.Zápis do buňky zevnitř @ $mol_mem vytvoří zpětnovazební smyčku (zápis znehodnotí závislost, která se přepočítá a znovu zapíše). $mol to hlásí jako cyklické přihlášení. Oprava je vždy stejná: držte vedlejší efekty v akcích, výpočty udržujte čisté.V @ $mol_mem můžeteale neObslužné rutiny tlačítek se generují jako @ $mol_mem na základní třídě; přepište je pomocí @ $mol_action, aby mohly bezpečně zapisovat:1@ $mol_action2submit() {3 this.saved( true )4}

Odvozený stav se skládá

Protože se závislosti sledují automaticky, odvozené hodnoty se řetězí bez jakéhokoli propojování. Každá čte tu předchozí; změna v kořeni se šíří přesně tak daleko, jak je potřeba:1@ $mol_mem full_name() {2 return `${ this.first() } ${ this.last() }`.trim()3}4 5@ $mol_mem greeting() {6 return this.full_name() ? `Hello, ${ this.full_name() }!` : 'Hello!'7}
Upravit tuto stránku na GitHubuBylo to užitečné?AnoNePředchozíPohledyDalšíSměrování
Na této stránceReaktivní vlastnostiČtení a zápisAkce vs. výpočtyOdvozený stav se skládáStav s klíčemAsynchronní hodnota je jen hodnotaPřechodný stav mezi událostmiDále
Type to search the documentation.