問題タブ [ngrx]
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.
javascript - Angular 2: サービスと redux の違い
サービスからデータを保存および取得することもできるため、reduxの必要性は何ですか。データを取得してサービスに保存することもでき、それらのサービスを他のコンポーネントで使用できることを理解しています。
reactjs - redux ストア内のリスト間で参照を移動する
私のストアには、正規化されたエンティティを参照する ID のリストが複数あります。次のようになります。
ユーザーはアイテムを編集でき、アイテムをどのリストに入れるかを選択できます。ユーザーが編集中にリストを変更した場合、アイテムをあるリストから別のリストに移動するエレガントな方法が見つかりません。アイテムを移動するには、古いリストから item-id を削除して、新しいリストに追加する必要があります。
新しいリストに書き込んだ後、古いリストから Id を削除するにはどうすればよいですか? Id のすべてのリストを調べて、削除が見つかった場合は、少し間違っているようです。
編集:
私の使用例をさらに説明すると、「08-17-2016」などの日付である n 個のリストがあり、その中の項目はイベントです。ユーザーはイベントの日付を変更できるため、イベントをある日付から別の日付に移動する必要があります。
angular - Angular2 NGRX/Store ビューが更新されない
Angular 2ビューの更新に関するさらに別の質問で申し訳ありませんが、他の回答で回答を見つけることができませんでした. ここで NGRX/Store の使用について言及していますが、それがビューが更新されていない理由だとは思いません。最後の (最新の) 更新が有効になることはありません。モデルが更新されると、以前の状態がビューで更新されます。本当に気が遠くなるようなものです。適切なコードを次に示します。
関連するインストール済みパッケージ
私のメインアプリモジュール
マイアプリ コンポーネント
マイアプリ テンプレート
アプリ管理サービス
「My Apps」ページが最初に表示されると、これが最終的に印刷されます。
そして、これがビューの最終的な場所です。
変ですよね?NGRX/Store からブロードキャストされた 2 番目の状態でページが更新されたことがわかりますが、実際のパンとバター (6 つのアプリのリスト) を含む最終状態ではありません。ビューが正しく更新されないのはなぜでしょうか。
angular - ngrx/store を使用した Angular 2: レデューサー間でデータを共有する方法は?
アプリに単純なリスト コンポーネントがあります。そして、リスト項目を選択可能にしたい。したがって、私のアプリケーションの状態は次のようになります。
そして私のブートストラップ:
リストの動作は単純です。シングル クリック - アイテムの ID が選択したアレイに追加され、その他はクリアされます。Ctrl+クリック - 項目の ID が選択した配列に追加され、他は残ります。現在の構造で実装するのは簡単です。
しかし、Shift+クリックでアイテムの範囲を選択できるようにしたい - その場合、最後に選択されたアイテムと現在のアイテムの間のすべてのアイテムも選択されるべきです。そのためには、現在のアイテムだけでなく、最後に選択されたアイテムも知り、それらの間のアイテムを見つけるためにリストにアクセスできる必要があります。items
しかし、明らかに私はin にアクセスできませんSelectedReducer
。
では、どうすればそれを行うことができますか?ストアを再構築することを検討する必要があるのでitems
、selected
1 つの状態オブジェクトになりますか? またはredux-thunkを使用しますか (やり過ぎのようです)? 他のオプションはありますか?
angular - Angular2 @ngrx/store /effects - サービス関数を呼び出す場所
@ngrx/store と @ngrx/effects で Angular 2 アプリを作成しています。
アクション/効果などの外にロジックを配置する場所と、サービス関数を呼び出す場所を理解するのに苦労しています。
たとえば、認証では...
- ユーザーがログインをクリックする
AUTH_REQUEST
と、ログイン認証情報をペイロードとしてアクションがディスパッチされます。 - エフェクトはこのアクションを探し、API を呼び出します。
- 成功した結果は
AUTH_SUCCESS
、応答オブジェクト内のトークン、ユーザー名などをペイロードとして使用してアクションを呼び出します。ペイロードはレデューサーに送られ、AuthState
.
例: でAuthEffects
のAuthReducer
私が知りたいのは:
AUTH_SUCCESS
アクションが処理された後にページを変更するためにルーターを呼び出す場所。エフェクト リアクティブ チェーン内からこれを行うか、それとも....??AuthService
資格情報 (トークンなど) を LocalStorage に保存する必要があります。「トークンを保存する」ためにこれをどこに呼び出す必要がありますかauthService.store(userCredentials)
。
どんな助けでも感謝します。
angular - Angular 2 RC5 を使用した ngrx
RC5 で ngrx を使用しようとしていますが、有線の動作が発生しています。状態の変化は ngrx ログ モニターによって適切にキャプチャされますが、サブスクライバーには送信されません。
しかし、ページを変更すると (@angular/router 3 を使用しています)、すべての状態変更がサブスクライバーに 1 つずつ発行されます。
これがコードのサンプルです
最初にページに移動したときに最新の状態を取得しますが、その後の変更は取得されません。次に、ページに移動してページに戻ると、状態が変化します。
これは有効な質問には十分なコードではないことはわかっていますが、あまりにも多くのコードがあり、どこからすべてのコピーを開始すればよいかわかりません。誰かが RC5 で同様の問題に対処したことを願っています。
RC5 に移行する前は、すべてのコードが機能していました。