2017-08-02 3 views
0

Ich benutze React und React-Router, und ich habe eine Top-Level-Komponente <App/>, die alle Sitzungsdaten enthält. Wenn ich auf eine andere Seite navigiere, verliere ich die Statusinformationen. Wie kann ich die Statusdaten auf allen Seiten beibehalten? (Wenn das nicht möglich ist, gibt es eine andere Möglichkeit, meine Sitzungsdaten zu implementieren?)Wie behalte ich Statusdaten bei der Seitennavigation?

+0

Verwenden Sie browserRouter oder hashRouter? Wie navigieren Sie zwischen den Seiten? Wenn Sie mit Link-Elementen des react-rooters navigieren oder drücken seine Geschichte dann der Zustand der Ahnenbestandteile sollte konserviert werden –

+0

@PhilBellamy Ich verwende '' von react-bootstrap für Verbindungen, die ihre href Eigenschaften verwenden, um zu verschiedenen Seiten zu navigieren. –

+0

Die Verbindung zwischen den Seiten, die einen traditionellen href verwenden, lädt neu Die Seite, also warum Ihr Zustand verloren ist. Durch die Verwendung von React-Router-Navigationstechniken (zB Link-Element) wird die Seite nicht neu geladen und Sie sollten feststellen, dass Ihr Top-Level-Komponentenstatus durch Navigation erhalten bleibt. –

Antwort

1

Sie könnten session storage (sessionStorage) verwenden, um Datenelemente zu speichern, die auf mehreren Seiten beibehalten werden sollen. Dies wird nicht an den Server gesendet und verschwindet, wenn die Sitzung beendet ist. (Sie können auch localStorage für Dinge verwenden, die Sie von einem Besuch zum nächsten beibehalten möchten.

1

Ich benutze Redux es speichert die Daten, die Sie außerhalb der Komponenten wollen und Sie können anschließen, wo immer Sie möchten.

Verwandte Themen