
Explore functional programming foundations essential for signal store concepts, including higher order functions, closures, lambda expressions, lambda types, immutability, and pure functions to read functional code confidently.
Compare functional programming with object-oriented approaches in Angular, using higher-order functions, polymorphic discount policies, and immutability to simplify event-driven, asynchronous data transformations.
Explore dynamic classes in JavaScript via a function returning a new class, used by signal store, configured with an action, and retrieved through Angular dependency injection.
Explore the signal store, a lightweight Redux-based library that diverges in key ways; install, create stores, and compose features while building a quiz app with scoring.
Practice adding computed signals to the NgRx signal store in Angular, building current question index and questions count, and wiring the progress component to receive value and max.
Master the ngRx signal store by defining initial state with state, adding computed signals with computed, updating via with method and patch state, using updaters and on init lifecycle hook.
Define core state and derived state in a single NgRx signal store, showing how search word, cart quantities, and inventory shape derived UI like subtotal and cart visibility.
Define derived view models from the core state that are recalculated for each view, powering item list and cart views with subtotal, tax, total, and is active and visible properties.
Build the product list view model by mapping core state to product items using a shop VM builder, incorporating quantities, case-insensitive search, and zero defaults.
Build the cart view model by mapping products with quantities into cart item VMs and compute subtotal, tax, grand total, while deriving is active and is visible via pure functions.
Explore how the NgRx signal store works beyond magic and learn when and where its functions run. Divide stores, enable communication via dependency injection, and maintain private non signal state.
Derive computed signals from another store to translate quiz captions and colors using a global dictionary and translation helpers.
Refactor the view models by moving product list and cart view models to their stores, and create a shop view model for the user interface, preparing to relocate build logic.
Learn to integrate an asynchronous API in a signal store by lazily loading dictionaries from a service, converting observables to promises with firstValueFrom, and managing core state with async methods.
Explore the rx method, a higher-order function from the signals package that takes a function and returns an input-to-output observable transformer, enabling RxJS interoperability in Angular signal stores.
call the real API from an rx method by mapping languages to dictionaries and flattening a higher-order observable with mergeAll, updating the store and busy state to address race conditions.
Explore RxJS flattening operators, including merge all, switch all, exhaust all, and concat all, showing how switching to the latest inner observable fixes race conditions and cancels prior requests.
Wire the Colour Quiz Generator Service into the quiz store, manage the is busy flag, and reset questions and answers while triggering on generate button clicks with exhaust all.
Automate the rxMethod invocation by subscribing to the selected language signal, so dictionary invalidation runs whenever language changes, with construction-time setup making the method private and streamlined.
Practice the signal method in NgRx signal store for Angular by repeating the demonstrated exercise and using the lecture resources to access the project link.
Use promises in signal store methods and compare them with rxjs alternatives. Implement side effects with rxjs operators and flattening to avoid race conditions.
Explore configuring the with entities feature for ngRx signal store, defining a book config, custom collection names, and id selectors to manage private, multi-collection stores.
Create a with service custom feature that loads data from an API using an observable loader, sets the busy flag, and updates the store via an updater and patch state.
Declares the features input requirements to ensure the signal store compiles correctly, using a test store to validate initial state, busy flags, and updater interactions with patch state.
NgRx Signal Store - The Missing Guide
Uncover why NgRx Signal Store is seen as the essential missing piece for fully harnessing Angular signals, offering a lightweight yet powerful state management solution. This Udemy "NgRx Signal Store" course, created by Angular expert Kobi Hari, provides a hands-on, structured path to mastering NgRx Signal Store and building scalable state management solutions with Angular Signals.
This course provides a comprehensive dive into NgRx Signal Store, a more streamlined and straightforward alternative to other NgRx stores. It's designed to be both easy to use and highly flexible, making it an excellent choice for state management in Angular applications. With support for custom features, it's not only simple but also scalable and extendable.
What you'll learn:
Why NgRx Signal Store stands out: Learn why signals, combined with the redux pattern, provide a lighter and better state management solution compared to traditional stores in NgRx. Discover how it simplifies development while remaining powerful and scalable.
NgRx Signal Store includes core features such as withState, withComputed, withMethods, withHooks, and withProps. This course explains how each works, when to use them, and best practices for dependency injection and state updates.
Advanced topics: In version 18, NgRx Signals introduces significant improvements like state encapsulation, private store members, which allows you to better control and isolate the state within your stores.
New features: In version 19, withProps and signalMethod were introduced, learn how to use them and when.
Custom features: Missing the redux devtools extension? NgRx signal store allows the development of reusable custom features, such as an adapter for the devtools. Learn how to use libraries of custom features as well as writing your own.
Why this course?
Build a real-life application as part of your learning journey... in fact, build two. One simple, one more challanging.
Strengthen your skills with small, focused exercises.
Gain insights into the best practices for working with signals, avoiding common mistakes, and maximizing the store’s potential.
By the end, you’ll be ready to use NgRx Signal Store to manage state efficiently and confidently in your Angular apps. NgRx Signal Store – The Missing Guide is your complete learning path to mastering Angular’s modern, signal-based state management