Svelte 自定義 stores

2023-02-21 16:23 更新

只要一個對象正確的使用 subscribe ,它就是可以稱之為store。因此,使用特定語法來創(chuàng)建自定義 stores變得非常容易。

例如, 這個 count store 在前面的例子中包含 increment、 decrement 和 reset組件,以防止暴露 set 和update方法,讓我們改寫一下:

function createCount() {
	const { subscribe, set, update } = writable(0);

	return {
		subscribe,
		increment: () => update(n => n + 1),
		decrement: () => update(n => n - 1),
		reset: () => set(0)
	};
}

示例代碼

  • App.svelte

<script>
	import { count } from './stores.js';
</script>

<h1>The count is {$count}</h1>

<button on:click={count.increment}>+</button>
<button on:click={count.decrement}>-</button>
<button on:click={count.reset}>reset</button>

  • stores.js

import { writable } from 'svelte/store';

function createCount() {
	const { subscribe, set, update } = writable(0);

	return {
		subscribe,
		increment: () => update(n => n + 1),
		decrement: () => update(n => n - 1),
		reset: () => set(0)
	};
}

export const count = createCount();


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號