template - 暗黙的なリアクティビティ

この例では、ストアの変更が自動的にサブスクライバーを更新する方法を示しています。

SSRレンダリング中、サーバーはアプリケーション内のすべてのコンポーネントをレンダリングする必要があります。コンポーネントのレンダリング中に、それらのコンポーネントのバインディングはストアのプロパティの読み取りを実行します。たとえば、`` のテキストノードがストアから `countA` プロパティを読み取ると、Qwik はそれをサブスクリプションとして記録します。Qwik はこれで、`countA` が変更された場合、`` 内のテキストノードを再レンダリングする必要があることを認識します。シグナル操作を実行すると、ストアへのサブスクリプションが自動的に設定されます。シグナル操作が実行されるたびに、古いサブスクリプションは破棄され、新しいサブスクリプションが作成されます。これは、テキストノードがそのライフサイクル中にリスニングしているもののセットを変更できることを意味します。

現在、ボタンは何もしません。それぞれのストアプロパティを増分するようにボタンを実装してください。

ボタンが機能するようになったら、すべての状態が単一のストアに保存されているにもかかわらず、更新は非常に焦点を絞っていることに注意してください。`a++` ボタンは `` 内のテキストノードの再レンダリングのみを引き起こし、`b++` ボタンは `` 内のテキストノードの再レンダリングのみを引き起こします。このきめ細かい再レンダリングは Qwik の重要な特性です。これは、Qwik アプリケーションをスリムに保ち、不必要に多くのコードをダウンロードしないようにするものです。

コンポーネントが削除されると、サブスクリプションは自動的に作成および解放されます。それらを追跡したり、手動で解放したりする必要はありません。

Qwik はリアクティブシステムです。すべてのリアクティブシステムは、サブスクリプションを作成するためにアプリケーションの単一の実行を必要とします。Qwik アプリケーションも、すべてのサブスクリプションを設定するために完全な実行を必要とします。しかし、Qwik アプリケーションはサーバーで完全な実行を実行し、サブスクリプション情報をクライアントに転送します。このようにして、クライアントは、アプリケーション全体の完全なレンダリングを強制されることなく、どのコンポーネントまたはコンポーネントの一部を再レンダリングする必要があるかを認識します。そうすると、すべてのコンポーネントがeagerlyダウンロードされることを強制され、Qwik はそれを避けたいと考えています。

チュートリアルの編集