SvelteのStoreについて

1.7K Views

December 28, 23

スライド概要

profile-image

株式会社MIERUNE所属 主にアプリケーションのフロントエンド開発をしています

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

2023/12/27 NORIHIRO NARAYAMA SvelteのStoreについて

2.

そもそもの話 • 今日紹介しようとしているsvelte/stroreモジュールを使わなくても、store contract(ストアコンス トラクト)を実装することでstoreを定義することは可能だし、普通のWebアプリケーションではそ ちらの実装の方が良い場合が多いです • だけど今日はあえてsvelte/storeモジュールの紹介をします

3.

Storeとは何か • 状態管理を司る機能をStoreと称する事が多い • だいたいオブザーバーパターンになっている • ↑そもそもオブザーバーパターンとはなんぞや

4.

オブザーバーパターンとは何か • デザインパターンのひとつ • オブザーバーがサブジェクトを購読し、サブジェクトの状態変 化を受け取るような実装

5.

実践

6.

writable • コンポーネントの外側からでも値を設定す ることができるストアを作成する関数 • Setメソッドとupdateメソッドを持つ

8.

• 基本的に、storeのオブジェクトをサブスクライブして使う • $でのサブスクライブがかなりコード省略してくれる

9.

readable • コンポーネントの外側からは値を設定でき ないストアを作成する関数

11.

• readableもwritableも第二引数に関数を取ることが出来る • この関数がどういう動きをするのかというと、サブスクライバーが一個でもサブスクライブすると 動く関数になる • ちなみにサブスクライバーがさらに増えたときには動かない • サブスクライバーが全ていなくなる場合に動く関数を返してやる必要がある

12.

derived • 1つ以上の他のストアからストアを派生さ せる • 既存のストア(単一または複数)に基づい て新しいリアクティブな値を生成したい場 合に使う

14.

まとめ

15.

• $でのサブスクライブがとてもよい • そもそも標準でこの機能が備わっているのがよい • とても直感的に書ける • 他フレームワークからの乗り換えも楽そうだ • やはりSvelteはよい