devterview_$ iniciar simulação

Reatividade no Svelte: atribuição e runes

MédioPlenoReatividade

Pergunta

Como a reatividade funciona no Svelte, e por que `array.push(x)` sozinho pode não atualizar a UI no Svelte 3/4?

Resposta esperada

No Svelte 3/4, o compilador torna reativa a atribuição a variáveis de nível de componente: `count += 1` gera código que agenda a atualização. `array.push(x)` muta o array mas não faz uma atribuição à variável `array`, então o compilador não vê um ponto de invalidação — o idioma é `array = [...array, x]` ou `array.push(x); array = array`. Blocos reativos (`$: dobro = count * 2`) recalculam quando dependências mudam. O Svelte 5 troca esse modelo por 'runes' (`$state`, `$derived`, `$effect`) — sinais explícitos que também funcionam fora de componentes e removem a pegadinha do push, ao custo de uma sintaxe nova.

Por que perguntam isso

Pergunta pleno. A pegadinha do `push` é o teste clássico. Saber que o Svelte 5 muda pra runes mostra que a pessoa acompanha.

#reatividade#runes#svelte5
publicidade

Relacionadas