effect in Svelte
From the Svelte cheat sheet ยท Runes (Svelte 5) ยท verified Jul 2026
$effect
Side effects and lifecycle
javascript
<script>
import { untrack } from 'svelte';
let count = $state(0);
// Simple effect
$effect(() => {
console.log('Count:', count);
});
// Effect with cleanup
$effect(() => {
const timer = setInterval(() => {
console.log('Tick');
}, 1000);
return () => clearInterval(timer);
});
</script>๐ Replaces onMount, afterUpdate, and onDestroy
๐งน Return cleanup function for teardown logic
๐ $effect.pre runs before DOM updates
๐ฏ untrack() prevents dependency tracking