$state:きめ細かなリアクティビティ
$state runeを使ってリアクティブな状態を宣言し、DOMをきめ細かく更新します。
「$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 updateitems = 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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- なぜRunesなのか:コンパイラマジックを超えて
- $state:きめ細かなリアクティビティ
- $derived:宣言的な計算値
- $effect:副作用