Skip to content

GetAmbassador/redux-clerk

Repository files navigation

Redux Clerk

CircleCI npm package

Redux Clerk handles the async CRUD in your Redux App.

  • Provides a set of action creators for both asynchronous and synchronous actions.
  • Provides an extendable reducer.
  • Handles derived datasets and provides selectors for computing derived data.
  • Stores minimum possible state.
  • Optionally handles optimistic updates to the store.
  • State is managed and stored as an Immutable.js data structure.
// The tidy, minimal state managed by Redux Clerk.
{

  // Full data objects are only stored once and never duplicated.
  raw: {
    '123': { uid: 123, name: 'Apple' },
    '234': { uid: 234, name: 'Banana' },
    '345': { uid: 345, name: 'Peach' }
  },

  // Redux Clerk stores derived datasets as Lists of UIDs.
  instances: {
    myTypeaheadDataset: ['234', '123'],
    myTableDataset: ['345', '234'],
    myListDataset: ['123', '234', '345']
  }
}

Installation

npm install redux-clerk --save

Configuration & Docs

Example

An example TodoMVC using Redux Clerk is available in the example directory. To run the example:

git clone [email protected]:GetAmbassador/redux-clerk.git
cd redux-clerk
npm install
npm run build
cd example
npm install react-scripts -g
npm install
npm start

License

MIT