Я работаю над приложением React-Native, используя Redux, Redux-Persist, React-Redux-Firebase и сам Firebase. Я понял, что успешно сохранил пользователя Firebase и список элементов библиотеки в локальном хранилище с помощью Redux-Persist.
Проблема, которую я пытаюсь решить, заключается в том, что, когда кто-то входит в приложение и сохраняет несколько вещей в своей библиотеке, выходит из системы и возвращается к тому же экрану, что и пользователь-гость, элементы все еще там. Они привязаны к телефону, а не к пользователю.
Я не уверен, насколько это полезно, но вот код, который у меня сохраняется, сохраняя мое состояние:
/** Imports... */
firebase.initializeApp(config);
const rrfConfig = {
userProfile: "users",
enableRedirectHandling: false, // since react-native does not support http
firebaseStateName: "firebase" // should match the reducer name ('firebase' is default)
};
const createStoreWithFireBase = compose(
reactReduxFirebase(firebase, rrfConfig)
)(createStore);
const rootPersistConfig = {
key: "root",
storage,
blacklist: ["search", "webSocket"],
stateReconciler: autoMergeLevel2
};
const libraryPersistConfig = {
key: "library",
storage,
whitelist: ["items"]
};
const rootReducer = combineReducers({
library: persistReducer(libraryPersistConfig, libraryReducer),
search: searchReducer,
firebase: firebaseReducer,
webSocket: webSocketReducer
});
export const store = createStoreWithFireBase(
persistReducer(rootPersistConfig, rootReducer),
applyMiddleware(thunk.withExtraArgument(getFirebase))
);
export const persistor = persistStore(store);
Как лучше всего связать данные с конкретным пользователем, а затем извлечь эти данные из локального хранилища?