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 | nils-mehlhorn.de
Follow me @n_mehlhorn for updates
- When to Use NgRx
- NgRx Is Not Just a Store
- Concepts & Terminology
- Installation & Setup
- Using Schematics
- File Structure & Naming
- State Normalization
- What Not to Put in The State
- Actions & Action Creators
- Creating & Registering Reducers
- Using mutable APIs with immer.js
- Fat vs Thin Actions & Reducers
- 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 actionable 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?
You've purchased this product
See it in your libraryView in Library
We charged your card and sent you a receipt
You'll need an account to access this in our app. Please create a password to continue.
Download from the App Store or text yourself a link to the app
Thanks for purchasing the NgRx book! I've put ton of work into writing it and hope it helps you to become a better Angular developer.
If you find the book helpful, it would mean a lot to me if you left a five-star review on Gumroad and share it on Twitter or LinkedIn. If you have any questions or concerns, or you just want to tell me how awesome the book is, you can always reach me by email at firstname.lastname@example.org
Good news! Since you already have a Gumroad account, it's also been added to your library.