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
- Immer
- Reselect
- Redux-saga
- Routing
- Async/Lazy loaded Route
- Asynchronously loaded components
- Memoization
- Context
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.