Сохраните и загрузите сохраненные данные Redux на основе идентификатора пользователя - PullRequest
0 голосов
/ 26 октября 2018

Я работаю над приложением 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);

Как лучше всего связать данные с конкретным пользователем, а затем извлечь эти данные из локального хранилища?

...