Skip to main content

オブジェクトが subscribe メソッドを正しく実装していれば、それは store です。それ以外は何でもありです。したがって、ドメイン固有のロジックを使ってカスタムの store を作成するのはとても簡単です。

たとえば、先ほどの例の count store に increment, decrement, reset メソッドを含めて、setupdate は公開しないようにできます:

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

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

Next: Store bindings

1
2
3
4
5
6
7
8
9
10
<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>
 
initialising