NgRx Book: Reactive State Management for Angular

44 ratings

The complete learning resource on state management with NgRx Store and Effects in Angular.

Learn how to structure your application state, describe events with actions and perform deterministic state transitions with reducers. State management with NgRx follows the Redux pattern and is used by hundreds of companies to build maintainable Angular applications. In combination with TypeScript and RxJS it empowers you to write testable business logic and explicit side-effects for talking to servers through HTTP or WebSockets. With immutability as a core concept you also gain performance benefits, eventually giving you the best of both worlds: lightning fast applications that are easy to maintain and grow.

I'm a freelance software engineer, trainer, speaker and author. While working on enterprise software, helping others to do the same, as well as building the online graphics tool startup SceneLab, I became a big fan of the NgRx library. After writing multiple blog posts on advanced NgRx topics and building a library for undo-redo, I'm now putting all my experience into this book to provide you with solid foundations.

We'll be building an example application with the most recent versions of Angular & NgRx while getting to know all aspects of NgRx, how they fit together and which best practices you should apply. The code examples in the book are accompanied by a hosted repository where you can follow along each step of the way and jump into live demos in the browser.

Nils Mehlhorn |

Follow me @n_mehlhorn for updates


Read the first chapter for free


  • When to Use NgRx

  • NgRx Is Not Just a Store

  • Concepts & Terminology

  • Installation & Setup

  • Using Schematics

  • File Structure & Naming

  • Debugging

  • State Normalization

  • What Not to Put in The State

  • Actions & Action Creators

  • Creating & Registering Reducers

  • Using mutable APIs with immer.js

  • Meta-Reducers

  • Fat vs Thin Actions & Reducers

  • Selectors

  • Feature Modules

  • NgRx Effects: Setup, Source, Error Handling

  • Testing Action Creators, Reducers, Selectors, Effects

  • Testing Related Components & Services

  • Router Store

  • Less boilerplate with NgRx Entities and Data

  • Performance Tips

  • Patterns: Facades, Presentational & Container Components, Re-Hydration


"I had the chance to review Nils' book about NgRx. It is a great source for beginners but also contains valuable contents for state management veterans. The illustrations Nils has made are šŸ”„"

ā€” Gregor Woiwode, Google Developer Expert

"A must-read when you're considering to start a new Angular project with NgRx. Nils has practical advice on when you'll need it and how to get started properly."

ā€” Tim Deschryver, NgRx Team Member

"NgRx can be a challenge for beginners and advanced developers alike. It's also quite hard to find good documentation, especially in regard to best practices and architecture. This book is a real time-saver for anyone who wants to work efficiently with NgRx. Because the book is well-organized it may be used as a tutorial as well as a manual."

ā€” Dmytro Paul, Freelance Software Engineer

"I finished reading your book and I loved it! I really loved it! I just started to learn NgRx for a project that I need to update, your book was the best resource I found. I feel competent in the topic now."Ā 

ā€” Nico Acerenza, Software Engineer


Who's this book for?

Anyone who wants to get started with or extend on solid state management for Angular. That said, prior experience with TypeScript, Angular & RxJS is helpful. However, I'm also keen on providing backlinks to background resources anytime things might get complex.

What versions of NgRx & Angular are covered?

The code examples are developed with Angular & NgRx 10. Specifically, these are using the creator APIs introduced in NgRx 8.

What about updates?

You'll receive all future updates.

Can I get an invoice?

Yes, after purchase you'll automatically receive an e-mail with a receipt and the option to generate a custom invoice with your business address and tax number (see here for more information).

What about refunds?

If you're not satisfied, reply to the download email within 14 days to get a full refund.

Can I use this book at work and share it with my team?

Please purchase the team license for using the book in a corporate context.

What if I'm a student and/or strapped for cash?

Let's figure it out, drop me a message on Twitter or via the mail listed here.

Buy this

You'll get the full eBook in PDF & EPUB format.

Nov 2020
Coding Steps


(44 ratings)
5 stars
4 stars
3 stars
2 stars
1 star

NgRx Book: Reactive State Management for Angular

44 ratings
Buy this