Ich versuche, einen Benutzer in meiner Anwendung angemeldet zu halten. Ich habe verschiedene Techniken ausprobiert, aber ich habe keine Ahnung, wie ich Daten in den Zustand zurücklesen kann, wenn die Anwendung gestartet wird.Wie Benutzer angemeldet bleiben (Aka, Zustand Persistenz) in reaktiven nativen
Im Moment habe ich die folgenden:
const getInitialState =() => {
var _initState = {
auth: new AuthInitialState(),
global: (new GlobalInitialState())
};
return _initState;
};
export default function configureStore() {
const store = createStoreWithMiddleware(reducer, load(APP_STORAGE) || getInitialState());
store.subscribe(() => {
if(!load('debug')) {
save(APP_STORAGE, store.getState());
}
});
return store;
};
const createStoreWithMiddleware = applyMiddleware(
thunk,
localStorageMiddleware,
logger
)(createStore)
, in dem die Last und speichern Methoden sind verantwortlich für die Daten an eine AsyncStorage Speichern (unter Verwendung reagieren-native-simple-store)
export const load = (key) => {
return store.get(key);
}
export const save = async (key, data) => {
store.save(key, JSON.stringify(data));
}
Das Rendern meiner Wurzel ist das aktuelle:
render() {
const store = configureStore();
return (
<Provider store={store}>
<MyApp/>
</Provider>
);
}
Die Daten werden korrekt gespeichert (durch der sichere Abonnent), aber bei einem erneuten Laden oder App-Relaunch wird es nicht korrekt neu geladen. So wird mein Benutzer jedes Mal ausgeloggt.
Am Ende möchte ich auch diese Technik anwenden, um beim Start der App zur richtigen Seite zu navigieren.
Irgendwelche Empfehlungen, wie ich das angehen kann?
Für jetzt benutze ich dieses, funktioniert perfekt, danke! –