NgRx Book: Reactive State Management for Angular
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
Preview
Read the first chapter for free
Contents
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
Praise
"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
FAQ
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.
You'll get the full eBook in PDF & EPUB format.