LocalStoredReducer.js 516 B

12345678910111213141516
  1. export const localStoredReducer = (reducer, localStorageName) =>
  2. (state, action) => {
  3. if (!state) {
  4. if (localStorage[localStorageName]){
  5. return JSON.parse(localStorage[localStorageName])
  6. }
  7. else {
  8. return reducer(state, action)
  9. }
  10. }
  11. else {
  12. let newState = reducer(state, action)
  13. localStorage.setItem(localStorageName, JSON.stringify(newState))
  14. return newState
  15. }
  16. }