devterview_$ iniciar simulação

Stores do Svelte e o `$`

FácilJúniorEstado

Pergunta

O que é um store no Svelte e o que o prefixo `$` faz num componente?

Resposta esperada

Um store é qualquer objeto com um método `subscribe` (o `writable`/`readable`/`derived` do Svelte são implementações prontas) — serve pra estado compartilhado entre componentes que não têm relação pai-filho. Dentro de um componente, prefixar o store com `$` (`$contador`) faz o compilador: se inscrever no store automaticamente, ler o valor atual, re-renderizar quando ele emitir, e cancelar a inscrição quando o componente é destruído — tudo sem boilerplate. Fora de componente, você usa `store.subscribe()`/`store.set()` na mão. `derived` cria um store calculado a partir de outros, análogo a um `computed`.

Por que perguntam isso

Pergunta júnior/pleno de Svelte. Sinal bom: saber que `$` cuida do unsubscribe automático (contraste com o leak de RxJS no Angular).

#stores#estado-compartilhado
publicidade

Relacionadas