Sveltejs Academy · レッスン

readable Storeとカスタム開始関数

タイマー、センサー、外部データソースなどを基盤とする読み取り専用storeを作成します。

レッスン 4/413 ステップ

「readable Storeとカスタム開始関数」はCoddyKit上の無料Sveltejs Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSveltejs Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Sveltejs Academyコースには全4レッスンが含まれています。

読み取り専用ストア

readableストアにはsubscribeだけがあります。利用側から値を変更することはできません。

readableをインポートする

svelte/storeから提供されます。

import { readable } from "svelte/store";

初期値 + start関数

初期値とstart関数を渡します。start関数はsetを受け取り、最初の購読者が現れたときに一度実行されます。

export const time = readable(new Date(), (set) => {
  const id = setInterval(() => set(new Date()), 1000);
  return () => clearInterval(id);
});

stop関数

startからクリーンアップ関数を返します。最後の購読者が購読を解除すると、Svelteがそれを呼び出します。

遅延セットアップ

start関数は誰かが購読するまで実行されません。使用されていないときのリソースを節約できます。

使用例

時計、センサーの読み取り値、WebSocketのフィード、位置情報など、外部のタイマーやイベントによって駆動されるものに使用できます。

コンポーネントと組み合わせる

どのコンポーネントでも$timeを使って購読できます。Svelteが後処理を行います。

<p>The time is {$time.toLocaleTimeString()}</p>

更新なしの初期値

一定のreadableストアを作成するには、start関数を省略します。静的な設定に便利です。

export const apiBase = readable("https://api.example.com");

パターンの再利用

ファクトリパターンを使うと、ドメイン固有のreadableストアを簡単に作成できます。

writableとの比較

readableストアは、利用側からの意図しない書き込みを防ぎます。1つのモジュールが所有するデータソースに使用してください。

writableをreadableに変換する

writableのsubscribeメソッドだけを公開すると、利用側にreadableとして提供できます。

export const time = { subscribe: timeStore.subscribe };

クイックチェック

start関数はいつ実行されますか。

まとめ

readableは、遅延実行されるstart関数とクリーンアップ関数を備えた読み取り専用ストアを作成します。外部データソースに最適です。

無料で開始

AI チューターと学ぶ HTML — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
41
レッスン
163

よくある質問

「readable Storeとカスタム開始関数」レッスンは無料ですか?

はい。「readable Storeとカスタム開始関数」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Sveltejs Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Sveltejs Academyコースには全4レッスンが含まれています。

「readable Storeとカスタム開始関数」で何を学びますか?

タイマー、センサー、外部データソースなどを基盤とする読み取り専用storeを作成します。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Sveltejs Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSveltejs Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「readable Storeとカスタム開始関数」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSveltejs Academyレッスンでコードを書いて実行できますか?

はい。すべてのSveltejs Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. writable Storeを作成する
  2. $による購読と自動購読
  3. Storeの更新:set()とupdate()
  4. readable Storeとカスタム開始関数
← Sveltejs Academyに戻る