2016-05-20 7 views
1

Ich baue eine Anwendung, die einen Benutzer benötigt, um ein bestimmtes Alter vor dem Betreten der Website zu sein. Dem Benutzer wird ein Formular angezeigt, in das er sein Geburtsdatum eingeben muss. Diese Information wird dann im lokalen Speicher gespeichert und dann bei jeder Anfrage geprüft, ob dieser Wert im lokalen Speicher eingestellt ist. Derzeit innerhalb main.js sieht die Überprüfung Code wie:Handhabung des langlebigen Status in Redux

let hasRememberedAge = localStorage.getItem('ageVerified') 
if (hasRememberedAge !== null) { 
    store.dispatch(ageVerified()) 
} 

Das fühlt sich falsch, meine Frage, was ist ein besserer Weg, dies zu umgehen? Sollte ich bei jeder Seitenladung eine Aktion auslösen, die dann diese Prüfungen auslöst? Wenn ja, wo sollte das dispatch leben?

Antwort

0

Ich sehe nichts falsch damit. Sie können dies tun, wo immer Sie das Geschäft erstellen.

Alternativ können Sie einen Teil Ihres Status in einem store.subscribe Callback serialisieren, und lesen Sie es aus dem localStorage vor dem Erstellen des Geschäfts. Sie können diesen permanenten Zustand als zweites Argument an createStore übergeben, um ihn zu laden.

Verwandte Themen