2017-09-02 2 views
0

Ich schreibe eine Reaktion-Redux-Anwendung, die über 4 Routen verfügt. Ich benutze react-router um zu verschiedenen Routen zu navigieren. Meine Frage hier ist, ist es empfehlenswert, Redux State beim Navigieren zu einer anderen Route zu löschen?Löschen des Redux-Status beim Navigieren zu einer anderen Route in react-redux-Anwendung?

+1

Ich würde annehmen, dass Redux _all_ Ihres Anwendungsstatus darstellt, der alle verschiedenen Routen einschließen würde. Also nein, lösche den Status nicht. Das macht keinen Sinn. – Andy

+0

Ja Redux-Status speichert alle Daten für alle Routen. Ich dachte daran, nur den Teil eines Anwendungsstatus zu entfernen, der für die Route erforderlich ist, auf der ich mich gerade nicht befinde. –

+0

Und in Anbetracht der Tatsache, dass ich Daten durch den Aufruf von API-Server auf ComponentDidMount Life Cycle-Methode laden, daher bin ich mir nicht sicher, auch wenn ich Redux-Status dieser Route nicht löschen, wie wird mir das helfen? –

Antwort

1

Im Allgemeinen würde ich nicht sagen, dass es erforderlich ist, den bestehenden Zustand beim Übergang zu einer anderen Route in der App zu löschen. Wenn Sie zu diesem Teil zurückkehren, können Sie Daten schneller anzeigen. Sie müssen möglicherweise überlegen, ob es notwendig ist, das zu aktualisieren, wenn Sie darauf zurückkommen.

+0

Da ich Daten durch Aufruf von API-Server auf ComponentDidMount Life Cycle-Methode laden, daher bin ich mir nicht sicher, auch ich nicht Redux-Status löschen, wie wird mir das helfen? –

+0

Sie könnten den Anruf überspringen, wenn die Daten schon da sind, wenn das zu Ihrem Anwendungsfall passt –

+0

Ja, das macht Sinn. Danke bro :) –

1

Wie andere hier gesagt haben, gibt es keinen Grund, den Status von redux zu löschen, auch wenn Sie ihn nicht in der aktuellen Route verwenden.

Sie haben angegeben, dass Sie Ihren Status unter componentDidMount laden. Möchten Sie die Serverdaten jedes Mal neu laden, wenn eine Route gewechselt wird? Wenn nicht, können Sie Ihrer componentDidMount eine Bedingung hinzufügen, um die Daten nur dann erneut vom Server zu laden, wenn sie noch nicht geladen wurden.

+0

Eigentlich möchte ich nicht jedes Mal, wenn eine Route gewechselt wird, Daten vom Server neu laden, da ich eine automatische Aktualisierung für Routen aktiviert habe, die sicherstellen wird, dass die Daten vom Server aktualisiert werden. Der einzige Trick besteht darin, die Zeit zu kennen, die von der letzten Deinstallation verstrichen ist, so dass ich jede Änderung abfragen kann, die während des Intervalls (Unmount to Remounting) vom Server passiert ist. –

+0

Nur ein Vorschlag. Erstellen Sie eine unmountedTimestamps Reducer und auf '' 'componentWillUnmount''' versenden Sie eine Aktion mit dem Namen der Route und der aktuellen Zeitstempel –

+0

Das ist cool Vorschlag, liebe dich bro :) Liebe stackoverflow (y) –

Verwandte Themen