5

React Router を使用した Redux アプリがあります ( https://github.com/este/esteに基づく)。

1 つの Route 内に、複数の AJAX 呼び出し ( redux-promise-middleware&によって起動されるredux-thunk) がある場合があります。ページが (経由で) 変更されると、残りのすべてまたは前のルートによって起動されたコールバック react-routerを拒否したいと考えています。_SUCESS_FAILEDactions

これを行う最善の方法は何ですか?

4

1 に答える 1

0

フェッチするデータをページ対応にすることをお勧めします。つまり、フェッチが開始されるアクションで、ページ コンテキストを追加します。レデューサーがデータを取得すると、そのページ コンテキスト用にデータを保存するか、場所がブラウザーと同じでない場合 (ユーザーが別の場所に移動したことを意味します)、データを破棄することができます。さまざまなページ/コンテキストのデータを保持すると、ユーザーが戻った場合にこれらの準備ができているというボーナスもあります (それが必要な場合)。

  1. URL「/pageX」にアクセスしています。データのフェッチを開始すると、アクションは、SUCCESS アクションがディスパッチされるときにページ コンテキストが記憶されていることを確認します。レデューサーがアクションを処理するとき、データをstore.context["/pageX"].data(または同様のものに) 格納します。注: これは、現在の場所が受信したデータと同じでない場合に破棄 (拒否) することもできる場所です。

  2. UI は、その場所のみに一致するコンテキストからデータを要求/使用する方法を知っている必要があります。

また、アプリの状態でブラウザーの場所を追跡することを検討することもできます...

于 2016-08-10T16:08:50.553 に答える