← all demos

Reactivity

The signals layer on its own. src/reactive.js has no imports and no DOM dependency — the panel here just drives it, and every effect run is counted so you can see what actually re-ran.

Values

Effect runs

Try: press Write three signals twice — once unbatched, once batched — and compare how many times the effect ran. Then pause the rAF effect and drag a slider: the runs stop, and resume catches up with exactly one. Tick Run a timer and untick it: the effect's own teardown clears the interval. Tick Build a child effect, drag height to see it counting, then untick — the count stops, because the child was disposed with the branch that made it.