javascript / expert
Snippet
Optimization for Large Datasets via $state.raw
$state.raw creates a shallow reactive state. Unlike standard $state, it does not turn objects into proxies. This is critical for performance when handling thousands of entries, as it avoids the overhead of deep observation.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script>let items = $state.raw([]);function bulkUpdate(newData) {// Bypasses deep reactivity for massive performance gainsitems = [...items, ...newData];}</script><ul>{#each items as item (item.id)}<li>{item.label}</li>{/each}</ul>
svelte
Breakdown
1
let items = $state.raw([]);
Initializes a shallow reactive array that only triggers updates on assignment.
2
items = [...items, ...newData];
Reassignment is necessary to trigger the UI update since inner mutations are not tracked.
3
{#each items as item (item.id)}
Using a key (item.id) is best practice for efficient list reconciliation in Svelte.