Reactivity helps the user interface update automatically when data changes. This makes apps feel fast and smooth without extra work.
Why reactivity drives UI updates in Svelte
let count = 0; // When 'count' changes, Svelte updates the UI automatically <p>{count}</p> // To react to changes, use $: label $: doubled = count * 2;
Variables declared with let are reactive in Svelte.
The $: label runs code whenever referenced reactive variables change.
name changes.let name = 'Alice'; <p>Hello {name}!</p>
doubled value updates automatically when count changes.let count = 0; $: doubled = count * 2; <p>{count} doubled is {doubled}</p>
count, and the UI updates instantly.let count = 0; function increment() { count += 1; } <button on:click={increment}>Add 1</button> <p>Count: {count}</p>
This Svelte component shows a button and two numbers. When you click the button, count increases by one. The UI updates automatically to show the new count and its double. This happens because Svelte tracks changes to count and updates the parts of the page that use it.
<script> let count = 0; function increment() { count += 1; } $: doubled = count * 2; </script> <button on:click={increment} aria-label="Add one to count">Add 1</button> <p>Count: {count}</p> <p>Doubled: {doubled}</p>
Reactivity in Svelte means you don't have to write extra code to update the UI.
Use the $: label to create reactive statements that run when data changes.
Always declare reactive variables with let to allow updates.
Reactivity keeps the UI and data in sync automatically.
Svelte updates only the parts of the page that depend on changed data.
This makes apps faster and easier to build.