2017-09-02 18 views
0

私はいくつかの4つのルートを持つreact-reduxアプリケーションを作成しています。私は、異なるルートにナビゲートするために反応ルータを使用しています。私の質問は、別のルートにナビゲートする際に還元状態を削除することをお勧めしますか?react-reduxアプリケーションで別のルートにナビゲートすると還元状態が削除されますか?

+1

Reduxはすべての異なるルートを含むアプリケーション状態の_all_を表していると仮定します。そう、いいえ、状態を削除しないでください。それは意味をなさない。 – Andy

+0

はいredux状態は、すべてのルートのすべてのデータを格納します。私は現状ではないルートで必要とされるアプリケーション状態の部分だけを削除することを考えていました。 –

+0

そして、私はcomponentDidMountライフサイクルメソッドでAPIサーバーを呼び出すことによってデータをロードするという事実を考慮して、それで私がそのルートの還元状態を削除しなくても、どうすれば助けになるのでしょうか? –

答えて

1

一般に、アプリ内の別のルートに移行するときに既存の状態を削除する必要があるとは言いません。その部分に戻ってくると、データをより速く表示することができます。あなたがそれに戻ったときにそれをリフレッシュする必要があるかどうかを検討する必要があるかもしれません。

+0

私はcomponentDidMountライフサイクルメソッドでAPIサーバーを呼び出すことによってデータをロードするので、それで私はredux状態を削除してもわからないのですが、どうすればそれが助けになるのですか? –

+0

あなたのユースケースに合っている場合は、データが既に存在する場合はその呼び出しをスキップできます –

+0

はい、意味があります。ありがとうございました:) –

1

ここで述べたように、あなたが現在のルートでそれを使用していなくても、reduxから州を削除する理由はありません。

あなたはあなたの状態をcomponentDidMountにロードしていると言いました。ルートが切り替わるたびにサーバーデータを再ロードしますか?まだロードされていない場合は、componentDidMountに条件を追加して、まだロードされていない場合にのみサーバーからデータを再ロードすることができます。

+0

実際には、サーバーから新しく更新されたデータを確実に取得するルートで自動リフレッシュが有効になっているため、ルートが切り替わるたびにサーバーからデータを再ロードする必要はありません。唯一のやり方は、最後のアンマウントから経過した時間を知ることです。そのため、サーバーからの間隔(アンマウントから再マウント)中に発生した変更を問い合わせることができます。 –

+0

ちょっとした提案。 unmountedTimestampsレデューサーを作成し、 '' 'componentWillUnmount'''でルート名と現在のタイムスタンプでアクションをディスパッチします –

+0

Thatsクールな提案、あなたが仲間を愛して:) love stackoverflow(y) –

関連する問題