問題タブ [ngrx-store]

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.

0 投票する
1 に答える
2456 参照

javascript - @Ngrx/store: リレーションシップを持つモデルをクエリする方法

私は (@ngrx/store を使用して) Redux を使用する Angular 2 アプリで、ストアを次のようにモデル化しました。

基本的に、モデル A とモデル B の 2 種類のオブジェクトがあります。これで今のところ問題ありません。しかし、モデル A に多くのモデル B (1 対多) があるようなものを表す、それらの間の関係を記述する最良の方法を見つけることができません。このようなことはできますか?

これはストアのルートにあり、「modelA」の子ではありません。これは機能するかもしれませんが、@ngrx/store メソッドを使用して、特定の modelA から modelB を「クエリ」するにはどうすればよいでしょうか? グローバルな状態を読み取り、modelAmodelB から部分的な状態を返すセレクター関数を作成すると、関数を作成するときに残りの状態にアクセスできないためです。例:

Observable.combineLast を使用してこれをクエリできます

しかし、これが正しいかどうかはわかりません: modelA エンティティ オブジェクトを変更するたびに (たとえば、新しいオブジェクトを追加する)、subscribe() が呼び出されますが、modelA エンティティもその modelB も変更されていないため、出力は同じです。関連オブジェクト。

PS:この方法でクエリを実行できます

しかし、これが最善のアプローチであるかどうかはわかりません。