This boilerplate manages application state using Redux, makes it
immutable with ImmutableJS and keeps access performant
via reselect.
For managing asynchronous flows (e.g. logging in) we use redux-saga.
For routing, we use react-router in combination with react-router-redux.
We include a generator for components, containers, sagas, routes and selectors.
Run npm run generate to choose from the available generators, and automatically
add new parts of your application!
Note: If you want to skip the generator selection process,
npm run generate <generator>also works. (e.g.npm run generate container)
We adopted a split between stateless, reusable components called (wait for it...)
components and stateful parent components called containers.
See this article by Dan Abramov for a great introduction to this approach.