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.