JavaScript

State management

This boilerplate manages application state using Redux, makes it immutable with Immer 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 connected-react-router.

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)

Learn more

Architecture: components and containers

We adopted a split between stateless, reusable components called (wait for it...) components and stateful parent components called containers.

Learn more

See this article by Dan Abramov for a great introduction to this approach.