redux-persist-fs-storage

    1.3.0 • Public • Published

    Redux Persist FS Storage

    Redux Persist storage engine for React Native file system

    Inspired by redux-persist-filesystem-storage, this module works as adapter between react-native-fs and redux-persist.

    Install

    yarn add react-native-fs redux-persist-fs-storage
    

    This will install react-native-fs as dependency. So make sure to link it natively:

    react-native link react-native-fs
    

    See react-native-fs's documentation for details.

    Usage

    Both Redux Persist v4 and v5 are supported.

    Redux Persist v5:

    import { persistStore, persistReducer } from 'redux-persist';
    import FSStorage from 'redux-persist-fs-storage';
     
    const persistConfig = {
      key: 'root',
      keyPrefix: '', // the redux-persist default is `persist:` which doesn't work with some file systems
      storage: FSStorage(),
    };
     
    const persistedReducer = persistReducer(persistConfig, reducer);
     
    const store = createStore(persistedReducer);
    const persistor = persistStore(store);

    Redux Persist v4:

    import { persistStore } from 'redux-persist';
    import FSStorage from 'redux-persist-fs-storage';
     
    const persistor = persistStore(store, { storage: FSStorage() });

    The default storage location is a folder called reduxPersist in the document directory for your app on the device. You can specify folder for persistor:

    import { persistStore } from 'redux-persist';
    import FSStorage, { CacheDir } from 'redux-persist-fs-storage';
     
    const cachePersistor = persistStore(store, {
      storage: FSStorage(CacheDir, 'myApp'),
    });

    This will create myApp folder in cache storage for iOS and Android devices. You may create multiple persistors on different directories.

    Install

    npm i redux-persist-fs-storage

    DownloadsWeekly Downloads

    1,464

    Version

    1.3.0

    License

    MIT

    Unpacked Size

    6.03 kB

    Total Files

    4

    Last publish

    Collaborators

    • leethree