在 Svelte 5 中引入符文之前,儲存是用於在組件外部處理反應式狀態的慣用方式。現在情況已非如此,但在使用 Svelte 時(包括目前在 SvelteKit 中),您仍然會遇到儲存,因此了解如何使用它們是值得的。
我們不會介紹如何建立您自己的自訂儲存 — 對於此,請參閱文件。
讓我們重新瀏覽通用響應性練習中的範例,但這次使用儲存來實作共用狀態。
在 shared.js
中,我們目前匯出 count
,這是一個數字。將其轉換為可寫入的儲存
共用
import { writable } from 'svelte/store';
export const count = writable(0);
若要參考儲存的值,我們會在它前面加上 $
符號。在 Counter.svelte
中,更新 <button>
內的文字,使其不再顯示 [object Object]
計數器
<button onclick={() => {}}>
clicks: {$count}
</button>
最後,新增事件處理器。因為這是可寫入的儲存,所以我們可以透過程式設計使用其 set
或 update
方法來更新值...
count.update((n) => n + 1);
...但因為我們在組件中,所以我們可以繼續使用 $
前綴
計數器
<button onclick={() => $count += 1}>
clicks: {$count}
</button>
上一個 下一個
1
2
3
4
5
6
7
8
<script>
import Counter from './Counter.svelte';
</script>
<Counter />
<Counter />
<Counter />