📖 Scenario: You are building a simple Svelte component that shows a message when it appears on the screen and cleans up when it disappears. This helps understand how lifecycle hooks let you run code at important times.
🎯 Goal: Create a Svelte component that uses lifecycle hooks onMount and onDestroy to show messages in the console when the component loads and unloads.
📋 What You'll Learn
Create a Svelte component with a message variable
Use onMount lifecycle hook to set the message to 'Component is mounted!'
Use onDestroy lifecycle hook to set the message to 'Component is destroyed!'
Display the message in the component's HTML
💡 Why This Matters
🌍 Real World
Lifecycle hooks help run code at important times like loading data when a page opens or cleaning up timers when a page closes.
💼 Career
Understanding lifecycle hooks is key for building interactive web apps that respond correctly to user actions and system events.
Progress0 / 4 steps
1
Set up the message variable
Create a Svelte component with a let variable called message initialized to an empty string ''.
Svelte
Hint
Use let message = '' to create a variable that can change later.
2
Import and use onMount lifecycle hook
Import onMount from 'svelte' and use it to set message to 'Component is mounted!' inside the onMount callback function.
Svelte
Hint
Use import { onMount } from 'svelte' and then onMount(() => { message = 'Component is mounted!' }).
3
Import and use onDestroy lifecycle hook
Import onDestroy from 'svelte' and use it to set message to 'Component is destroyed!' inside the onDestroy callback function.
Svelte
Hint
Use import { onDestroy } from 'svelte' and then onDestroy(() => { message = 'Component is destroyed!' }).
4
Display the message in the component
Add an HTML <p> tag that shows the {message} variable inside the Svelte component.
Svelte
Hint
Use <p>{message}</p> to show the message in the page.
Practice
(1/5)
1. What is the main purpose of lifecycle hooks in Svelte components?
easy
A. To handle user input events
B. To style components dynamically
C. To define component props
D. To run code at important moments during a component's life
Solution
Step 1: Understand lifecycle hooks
Lifecycle hooks are special functions that run at specific times in a component's life, like when it appears or disappears.
Step 2: Identify their main role
The main role is to run code at these key moments, such as setup or cleanup tasks.
Final Answer:
To run code at important moments during a component's life -> Option D
Quick Check:
Lifecycle hooks = run code at key moments [OK]
Hint: Lifecycle hooks run code at key moments in component life [OK]
Common Mistakes:
Thinking lifecycle hooks are for styling
Confusing hooks with event handlers
Believing hooks define props
2. Which Svelte lifecycle hook is used to run code right after the component is added to the page?
easy
A. onMount
B. onDestroy
C. beforeUpdate
D. afterUpdate
Solution
Step 1: Recall lifecycle hook purposes
onMount runs code after the component appears on the page, perfect for setup tasks.
Step 2: Match hook to timing
onDestroy runs when component is removed, beforeUpdate and afterUpdate run around updates, not mounting.
Final Answer:
onMount -> Option A
Quick Check:
Code after component appears = onMount [OK]
Hint: onMount runs code after component appears [OK]
A. Only the first onMount runs, the second is ignored
B. Both onMount hooks run correctly without error
C. Multiple onMount hooks cause a syntax error
D. onMount must be inside a component function
Solution
Step 1: Check multiple onMount usage
Svelte allows multiple onMount calls; all run in order when component mounts.
Step 2: Confirm no syntax or scope errors
Both hooks run and log messages; no syntax error or ignoring occurs.
Final Answer:
Both onMount hooks run correctly without error -> Option B
Quick Check:
Multiple onMount hooks run fine [OK]
Hint: Multiple onMount hooks run in order, no error [OK]
Common Mistakes:
Thinking multiple hooks cause errors
Believing only one hook runs
Assuming onMount must be inside a function
5. You want to fetch data when a Svelte component appears and cancel the fetch if the component is removed before it finishes. Which lifecycle hooks should you use and why?
hard
A. Use onMount to start fetch and onDestroy to cancel it
B. Use beforeUpdate to start fetch and afterUpdate to cancel it
C. Use onDestroy to start fetch and onMount to cancel it
D. Use afterUpdate to start fetch and beforeUpdate to cancel it
Solution
Step 1: Identify when to start fetch
Fetching data should start when component appears, so onMount is the right hook.
Step 2: Identify when to cancel fetch
If component is removed before fetch finishes, onDestroy runs to cancel or clean up the fetch.
Final Answer:
Use onMount to start fetch and onDestroy to cancel it -> Option A
Quick Check:
Start onMount, cancel onDestroy [OK]
Hint: Start fetch onMount, cancel onDestroy for cleanup [OK]
Common Mistakes:
Using update hooks for fetch start/cancel
Starting fetch onDestroy (too late)
Canceling fetch onMount (too early)
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.