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']
}
}
npm install redux-clerk --save
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
- How can I extend the reducer provided by Redux Clerk?
- How does redux-clerk know how to normalize my data?
- How do I maintain the sort order of the fetch response?
- How do I recompute the derived companyTypeahead dataset?
MIT