0Pricing
Sveltejs Academy · Lesson

Reactive Variables with let

Declare reactive state in Svelte using plain let declarations.

Reactive Variables with let is a free Sveltejs Academy lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Sveltejs Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

No Special API

In Svelte, ordinary let declarations in the script block are reactive. There is no useState equivalent.

Declare and Use

Declare a variable and interpolate it in markup. Updating it re-renders the part that depends on it.

<script>
  let count = 0;
</script>

<p>The count is {count}</p>

Update by Assignment

Assignment is the trigger. count = count + 1 tells Svelte the value changed.

function inc() { count = count + 1; }

Increment Shorthand

Standard JS shorthands also work: count++, count += 5, etc.

function inc() { count++; }

Arrays and Mutation

Mutating an array via push does NOT trigger reactivity. You must reassign.

items = [...items, newItem];   // ok
items.push(newItem);            // does not update

Objects and Mutation

Same rule applies to objects: replace the reference, or reassign a specific property and the parent.

user.name = "Bea";
user = user;   // tell Svelte it changed

Why Assignment Matters

The Svelte compiler instruments assignment operators. Method calls like push are invisible to the compiler.

Local vs Shared

Plain let creates state local to one component instance. To share between components, use props or stores.

Initial Values

The right side of the let declaration runs once when the component instance initializes.

Typing

With lang="ts", give your variables explicit types.

<script lang="ts">
  let count: number = 0;
</script>

Multiple Variables

You can declare as many reactive variables as you want, on one or many lines.

let x = 0, y = 0;
let items = [];

Quick Check

What triggers reactivity?

Recap

Plain let is reactive. Reassign (not mutate) to trigger updates. Arrays and objects need reference changes.

Frequently asked questions

Is the “Reactive Variables with let” lesson free?

Yes — the full text of “Reactive Variables with let” is free to read here on the web, and the Sveltejs Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Sveltejs Academy course, upgrade to CoddyKit PRO.

What will I learn in “Reactive Variables with let”?

Declare reactive state in Svelte using plain let declarations. You practise Sveltejs Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Sveltejs Academy?

No prior experience is required. Sveltejs Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Reactive Variables with let” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Sveltejs Academy lesson?

Yes. Every Sveltejs Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. The script template style Structure
  2. Reactive Variables with let
  3. Interpolation: {expression}
  4. Computed Values: $: reactive declarations
← Back to Sveltejs Academy