JavaScript

State management

This architecture 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, api, actions, sagas, routes and mocks. Run yarn 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, yarn generate <generator> also works. (e.g. yarn generate route)

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.