Sveltejs Academy · レッスン

$state:きめ細かなリアクティビティ

$state runeを使ってリアクティブな状態を宣言し、DOMをきめ細かく更新します。

レッスン 2/413 ステップ

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

状態を宣言する

$state(initial)を使ってリアクティブ変数を宣言します。

let count = $state(0);

通常どおり再代入する

通常の代入で更新します。Svelteが依存するUIを再レンダリングします。

count = count + 1;

オブジェクトと配列

オブジェクトや配列に対する$stateは、深いプロキシを作成します。変更はリアクティブに反映されます。

let user = $state({ name: "Ada" });
user.name = "Bea";   // triggers update

items = itemsは不要

更新を発生させるために再代入する必要はもうありません。プロキシが変更を検知します。

きめ細かな更新

変更されたプロパティを使用しているDOMの部分だけが再レンダリングされます。

関数からの返却

再利用可能な状態の一部として、$stateに基づくオブジェクトを関数から返せます。

function counter() {
  let n = $state(0);
  return {
    get value() { return n; },
    increment() { n++; }
  };
}

ライブラリで使用する

.svelte.ts拡張子を使用すれば、$stateは.ts/.jsファイルでも動作します。

追跡しない読み取り

依存関係を登録せずに状態の値を読み取るには、untrack()を使用します。

生の状態

大きくてリアクティブにする必要のないデータには、$state.rawを使ってプロキシを省略します。

凍結スナップショット

通常のプロキシ化されていないコピーを取得するには、$state.snapshot(obj)を使用します。

letとの比較

$stateは、暗黙的なリアクティビティを持つ通常のletに代わる現代的な機能です。

クイックチェック

$stateのオブジェクトを変更するとどうなりますか?

まとめ

$stateは、深くプロキシ化されたオブジェクトや配列を含む、きめ細かなリアクティブ変数を作成します。

無料で開始

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

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

コース
41
レッスン
163

よくある質問

「$state:きめ細かなリアクティビティ」レッスンは無料ですか?

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

「$state:きめ細かなリアクティビティ」で何を学びますか?

$state runeを使ってリアクティブな状態を宣言し、DOMをきめ細かく更新します。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「$state:きめ細かなリアクティビティ」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. なぜRunesなのか:コンパイラマジックを超えて
  2. $state:きめ細かなリアクティビティ
  3. $derived:宣言的な計算値
  4. $effect:副作用
← Sveltejs Academyに戻る