Signal Básico
Nesta página
Um signal é uma célula de estado reativa. Crie-o passando o valor inicial para
signal(). A partir daí, .get() lê o valor atual e .set(v) substitui-o.
Signals aceitam qualquer tipo: inteiros, strings, mapas, arrays, structs.
Criação, leitura e escrita de signals com valores distintos.
01-signal-basics.zolo
// Feature: signals — fine-grained reactive state
// Syntax: `signal(initial)` creates a cell; `s.get()` reads,
// `s.set(v)` writes. Reads inside `effect` / `computed`
// register a dependency.
// When to use: UI state, derived values, cache invalidation —
// anywhere "X depends on Y" should re-run when Y changes.
use std::reactive::Signal
let s = signal(42)
print(s.get())
// expected: 42
s.set(100)
print(s.get())
// expected: 100
// Signals carry any value: ints, strings, maps, arrays, structs.
let name = signal("zolo")
name.set("lang")
print(name.get())
// expected: lang
Desafio
Crie um signal do tipo lista, adicione elementos com .modify(|v| { ... }) e
imprima o tamanho após cada modificação.
Veja também