@ngrx-ducks is built to simplify the work with NgRx.

  1. ⚡️ Simpler Action handling through the Ducks refactoring pattern.

  2. 👓 More discoverability through an intuitive & typed API.

  3. 🤗 Fully compatible with NgRx's type system.

How does it work?

This library acts as a thin layer on top of NgRx. It automatically creates action creators and reducer functions for you. Furthermore, you get a service that you can use in your components. This Service provides a strictly typed API allowing both dispatching actions and selecting data from the Store.

The NgRx Ducks library does not modify the existing behaviour of NgRx. It only instruments the Observable provided by the Store and the Store’s method dispatch.

Since NgRx Ducks only depends on dispatch and the fact that the Store exposes an Observable it is pretty safe that NgRx Ducks remains compatible with NgRx even if a release contains breaking changes. 🙏


This library is used and maintained by GmbH, a small software consultancy start-up located in Karlsruhe, Germany.