redux-persist-webextension-storage

WebExtension Storage engine for redux-persist

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
redux-persist-webextension-storage
1.0.24 years ago4 years agoMinified + gzip package size for redux-persist-webextension-storage in KB

Readme

redux-persist-webextension-storage
A WebExtension Storage0 storage engine for redux-persist1.

Installation

Add the redux-persist-webextension-storage2 NPM package via NPM or Yarn:
$ yarn add redux-persist-webextension-storage

Usage

There are separate storage engines for local storage3 and sync storage4. Import the one you need, or both, and pass them as storage engines when configuring your store.
// configureStore.js

import { combineReducers, createStore } from 'redux'
import { persistStore, persistReducer } from 'redux-persist'
import { localStorage, syncStorage } from 'redux-persist-webextension-storage'

import localStorageReducer from './localStorageReducer';
import syncStorageReducer from './syncStorageReducer';

const localStorageConfig = {
  key: 'localStorage',
  storage: syncStorage,
}

const syncStorageConfig = {
  key: 'syncStorage',
  storage: syncStorage,
}

// Persist each of the storage areas under different keys and with different storage engines.
const rootReducer = combineReducers({
  localStorage: persistReducer(localStorageConfig, localStorageReducer),
  syncStorage: persistReducer(syncStorageConfig, syncStorageReducer),
})

export default () => {
  const store = createStore(rootReducer)
  const persistor = persistStore(store)
  return { store, persistor }
}