smalljs$molPesquisar⌘ KDocsPlaygroundCompararEcossistemaSobrePT
Estado e reatividadeGetting StartedIntroduçãoModelo mentalPrimeiros passosDe TypeScript para view.treeEstrutura do projetoFerramentasEssentialsInstalaçãoViewsEstado e reatividadeRoteamentoRenderizaçãoTestesDeploySolução de problemasDataBusca de dadosEsquemas de dadosGiper BazaMoreVitrineDe React, Vue e SvelteLivro de receitasAdvancedPluginsMetadados de móduloOfflineVistas fantasmaAboutFAQEquipeLançamentosAPI$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

Estado e reatividade

O estado do $mol comporta-se como uma planilha: você declara como um valor é calculado, e tudo o que depende dele se atualiza sozinho. Sem stores, sem dispatch, sem hooks de efeito — o grafo de dependências rastreia o que recalcular.

Propriedades reativas

Um método decorado com @ $mol_mem é uma célula reativa em cache. Ele executa uma vez, lembra seu resultado e só recalcula quando algo que ele leu mudou.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}doubledcount, então se inscreve em count automaticamente. Altere count e toda vista que mostra doubled se atualiza — não há nada para inscrever manualmente.

Leitura e escrita

Uma propriedade é getter e setter ao mesmo tempo: chame-a sem argumento para ler, com um argumento para escrever.1@ $mol_action2increment() {3 this.count( this.count() + 1 )4}

Ações vs. computações

Essa única distinção mantém o código reativo previsível:@ $mol_mem é uma computação pura — apenas lê outras células e retorna um valor.@ $mol_action é um efeito — escritas no estado, chamadas de rede e temporizadores pertencem aqui.Escrever em uma célula de dentro de um @ $mol_mem cria um laço de realimentação (a escrita invalida uma dependência, que recalcula, que escreve de novo). O $mol relata isso como uma inscrição circular. A correção é sempre a mesma: mantenha os efeitos colaterais nas ações, mantenha as computações puras.Em @ $mol_mem você podemas nãoOs manipuladores de botão são gerados como @ $mol_mem na classe base; sobrescreva-os com @ $mol_action para que possam escrever com segurança:1@ $mol_action2submit() {3 this.saved( true )4}

O estado derivado se compõe

Como as dependências são rastreadas automaticamente, os valores derivados se encadeiam sem nenhuma ligação manual. Cada um lê o anterior; uma mudança na raiz se propaga exatamente até onde for necessário: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}
Editar esta página no GitHubIsto foi útil?SimNãoAnteriorViewsPróximoRoteamento
Nesta páginaPropriedades reativasLeitura e escritaAções vs. computaçõesO estado derivado se compõeEstado com chaveAssíncrono é apenas um valorEstado transitório entre eventosPróximo
Type to search the documentation.