Как перенести localStorage в AsyncStorage - PullRequest
0 голосов
/ 07 декабря 2018

У меня уже есть код localStorage для моего веб-проекта.

Мой файл localStorage для сохранения и загрузки localStorage.

// localStorage.js
export const loadState = () => {
  try {
    localStorage.clear();
    const version = localStorage.getItem("version");
    // you can update the version to init the persist state
    if (version !== "0.1") {
      localStorage.clear();
      localStorage.setItem("version", "0.1");
    }
    const serializedState = localStorage.getItem("state");
    if (serializedState === null) {
      return undefined;
    }
    return JSON.parse(serializedState);
  } catch (err) {
    return undefined;
  }
};
export const saveState = state => {
  try {
    const serializedState = JSON.stringify(state);
    localStorage.setItem("state", serializedState);
  } catch (err) {
    // Ignore write errors.
  }
};

И файл моего хранилища для инициации хранилища избыточности.

// store.js
import persistReducer from "./reducers/persistReducer";
...

import { loadState, saveState } from "./localStorage";

const persistedState = loadState();

const store = createStore(
  combineReducers({
    persist: persistReducer,
    ...
  }),
  persistedState,
  composeWithDevTools(applyMiddleware(thunk))
);

store.subscribe(
  throttle(() => {
    saveState({
      persist: store.getState().persist
    });
  }, 1000)
);

ReactDOM.render(
  <Provider store={store}>
    ...
  </Provider>,
  document.getElementById("root")
);
registerServiceWorker();

Теперь я хочу перенести этот код в AsyncStorage, как можно просто изменить этот код, чтобы настроить его для моего собственного проекта приложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...