跳至主要內容

在 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>

最後,新增事件處理器。因為這是可寫入的儲存,所以我們可以透過程式設計使用其 setupdate 方法來更新值...

count.update((n) => n + 1);

...但因為我們在組件中,所以我們可以繼續使用 $ 前綴

計數器
<button onclick={() => $count += 1}>
	clicks: {$count}
</button>

在 GitHub 上編輯此頁面

上一個 下一個
1
2
3
4
5
6
7
8
<script>
	import Counter from './Counter.svelte';
</script>
 
<Counter />
<Counter />
<Counter />