Replicator for `redux-replicate` designed to persist the state of `redux` stores using Node's `fs`.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.babelrc
.gitignore
.npmignore
LICENSE
README.md
package.json
webpack.config.base.js
webpack.config.development.js
webpack.config.production.js

README.md

redux-replicate-fs

npm version npm downloads

Replicator for redux-replicate designed to locally persist the state of redux stores using fs.

Table of contents

  1. Installation
  2. Usage
  3. Example using react-redux-provide
  4. Example using compose
  5. Debouncing

Installation

npm install redux-replicate-fs --save

Usage

Note: This is currently intended only for demonstration purposes! Don't use this in production. At some point we may turn this into a proper flatfile storage system though! :)

Use with redux-replicate.

Example using react-redux-provide

// src/replication.js

import fs from 'redux-replicate-fs';
import { theme } from './providers/index';

theme.replication = {
  reducerKeys: ['themeName'],
  replicator: fs
};

Example using compose

import { createStore, combineReducers, compose } from 'redux';
import replicate from 'redux-replicate';
import fs from 'redux-replicate-fs';
import reducers from './reducers';

const initialState = {
  wow: 'such storage',
  very: 'cool'
};

const key = 'superCoolStorageUnit';
const reducerKeys = true;
const replicator = fs;
const replication = replicate({ key, reducerKeys, replicator });
const create = compose(replication)(createStore);
const store = create(combineReducers(reducers), initialState);

Debouncing

By default, a debounce occurs when writing the next state to the file system (during onStateChange). The default timeout is 1 millisecond. You can change it by doing this:

import fs from 'redux-replicate-fs';

fs.debounce = 20;