特別なイベント (ソケット IO メッセージ) を送信するときにすべての Redux RTK クエリを無効にする方法は?
P粉555682718
P粉555682718 2024-01-29 09:44:25
0
1
468

SPA React アプリケーションをすべてのユーザー (複数のタブ、複数のユーザー) に対して同期したいと考えています。特定のソケット IO メッセージをリッスンし、useGetAllEmployeesQuery:

というメッセージに基づいて状態変数を更新する単純なリアクティブ フックを作成しました。 リーリー

このイベントがディスパッチされると、RTK refetch() メソッドを呼び出すだけです。

リーリー

したがって、アプリケーション内のあらゆる場所でこれを呼び出す必要があります。たとえば、従業員クエリを使用するコンポーネントが 5 つあるとします。すべてのコンポーネントで refetch を呼び出す必要があります。多くのクエリは 1 回実行するだけで実行できます。 (1回のみ無効)

Redux RTK クエリ設定でそのようなイベントの任意のタイプをサブスクライブすることは可能ですか?

P粉555682718
P粉555682718

全員に返信(1)
P粉761718546

クエリを再実行するタグを無効にすることで、サブスクライブされたクエリ をトリガーできます。

invalidateTags を参照: のキャッシュ タグを手動で無効にし、自動的に を再フェッチするために使用できる Redux アクション クリエーター。

getAllEmployees エンドポイントが "employees" などのタグを提供すると仮定すると、タグを無効にして useGetAllEmployeesQuery フックをトリガーするアクションをスケジュールできます。データを再取得します。 リーリー リーリー

UI コードは単純にフックを呼び出し、

"employees" トークンを useRefetchOnMessage フックに渡します。 リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート