問題タブ [ngxs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - NGXS - switchMap で (any) を返すときに無効なオブジェクトが提供される
firebase の authState からユーザーを取得するアクションがあります。ユーザーが存在する場合、コードはユーザーに関連するドキュメントを返します。そうでない場合は、of(null)
以下が返されます。
クラスAuthState
クラスAuthService
シンプルに見えますよね?まあ、Redux Devtools プラグインがオンになっていない限り、うまくいきません (ええ、私はそれが奇妙であることを知っています)。
switchMap 演算子内で任意の型 (数値、文字列、null、または未定義など) の値を持つオブザーバブルを返したい場合、次のエラーが発生します。
Uncaught TypeError: ストリームが必要な場所に無効なオブジェクトを指定しました。Observable、Promise、Array、または Iterable を提供できます。(zone.js:192)
問題のある行は私のAuthState
クラスにあります:
しかし、of
演算子を削除してauthService.auth$
observable の結果 ( を返すof(null
) を返すと、エラーはなくなります。
angular - ngxs でメタ セレクター (状態セレクターを組み合わせる) をサブスクライブする方法は?
NGXS 公式ページのドキュメントを見ています: https://ngxs.gitbook.io/ngxs/concepts/select#meta-selectors
複数の状態の状態を取得したいので、提案された方法を使用する必要があります。
このセレクターを正しく使用するにはどうすればよいですか? おそらく Observables とサブスクライブを介して、コンポーネント内でトリガーする方法は?
私はNGXSの最新バージョンを使用しています。