Welcome back! In the previous lesson, you learned how to use Svelte’s reactivity model with runes like $state
and $derived
to create dynamic and responsive components. Now, we’ll explore another essential feature of Svelte: control flow. Control flow allows you to conditionally render parts of your UI based on specific conditions, making your applications more interactive and user-friendly.
In this lesson, we’ll focus on three key control flow structures: #if
, #else-if
, and #else
. These blocks enable you to show or hide content dynamically, depending on the state of your application. For example, you might want to display a welcome message only if a user is logged in or show different content based on their role.
To keep things simple, we’ll build on the reactivity concepts you’ve already learned, using $state
to manage the conditions that control what gets rendered. Let’s dive in and see how these control flow blocks work in practice!
The #if
block is the simplest form of control flow in Svelte. It allows you to conditionally render content based on a boolean expression. If the expression evaluates to true
, the content inside the #if
block is displayed; otherwise, it’s hidden.
