問題タブ [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 に答える
36 参照

angular - redux flat-data は不要なデータをキャッシュしますか?

完全に埋め込みウィジェットで構成される UI を備えた AngularX シングル ページ アプリがあると想像してください。したがって、ディスプレイ全体が更新されるためにストアの状態をクリアできるルート変更はありません。

redux に推奨される正規化されたデータ アプローチを使用すると、ストアの状態が、ユーザーがその日の残りの時間に再び使用しない可能性のあるデータでますますいっぱいになっていることがわかります。たとえば、数か月分の会場 + イベントをスクロールすると、多くの会場の詳細と多くのイベントの詳細がローカルに保存されますが、これらはおそらく再び使用されることはありません。

同じページ上の他のウィジェットが同じデータの一部 (会場の詳細、今後のイベントなど) に依存している可能性があるため、カレンダー ウィジェットは明らかに別の月に移動するため、ストアからアイテムを削除できません。

redux が、開発者が他の場所で使用されている場合に備えて、データを保持することを効果的に奨励していることを懸念しています。

誰にもこれに対する解決策がありますか?

0 投票する
2 に答える
3617 参照

angular - ngrx エフェクトでタイマーをキャンセルする

私はスピナーを持っています。スピナーが表示されるまで x 秒待つ必要があります。ただし、スピナーがタイムアウトの完了を待っている間に REQUEST_DEACTIVATE_SPINNER が呼び出された場合、ACTIVATE_SPINNER アクションの起動を停止する必要があります。別名、アクティブタイマーをキャンセルしたいです。これは私がこれまでに持っているものです。

エフェクトに返されるタイマーをキャンセルする方法を誰かが教えてくれるでしょうか。

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

javascript - ngRx 状態の更新とエフェクトの実行順序

私はこの質問について私自身の意見を持っていますが、再確認して確実に知っておくことをお勧めします. 注意を払い、助けようとしてくれてありがとう。ここにあります:

いくつかの状態変化をトリガーするアクションをディスパッチし、それにいくつかのエフェクトが付加されていると想像してください。したがって、コードは 2 つのことを行う必要があります。状態を変更し、いくつかの副作用を実行します。しかし、これらのタスクの順序は何ですか? それらを同期的に行っていますか?まず、状態を変更してから副作用を実行すると思いますが、これら 2 つのタスクの間に別のことが起こる可能性はありますか? このように: 状態を変更し、以前に行った HTTP 要求に対する応答を取得して処理し、副作用を実行します。

[編集:] ここにコードを追加することにしました。また、私はそれをかなり単純化しました。

州:

行動:

レデューサー:

効果:

FetchItemAction をディスパッチする方法は次のとおりです。

望ましいシナリオ:

悪いシナリオ:

問題は単純に、悪いシナリオが実際に起こり得るかどうかです。