Marko Stanimirović
NgRx Tips for Future-Proof Angular Apps
#1about 4 minutes
Consolidate global state into a single NgRx store
Avoid splitting global state between NgRx and stateful services to improve reusability and reduce component dependencies.
#2about 2 minutes
Use selectors to compute derived state on demand
Calculate derived data using memoized selectors instead of storing it in the state to simplify reducers and reduce state size.
#3about 2 minutes
Simplify components with view model selectors
Combine multiple state slices into a single view model selector to simplify component logic and template bindings.
#4about 1 minute
Create reusable and maintainable case reducers
Handle multiple actions in a single case reducer for shared logic, but split them into separate reducers when state changes diverge.
#5about 4 minutes
Treat actions as unique events, not commands
Use the source-event pattern to name actions descriptively, avoiding sequential dispatches and improving application traceability.
#6about 2 minutes
Organize actions by grouping them by source
Structure your codebase by creating dedicated action files for each source, such as pages, APIs, or guards.
#7about 1 minute
Name NgRx effects based on their function
Name effects based on the task they perform rather than the action they listen to, improving readability and maintainability.
#8about 2 minutes
Keep effects simple by moving logic to services
Isolate complex business logic within services and call them from effects to keep the effects simple, readable, and easy to test.
#9about 1 minute
Avoid creating unnecessary boilerplate effects
Eliminate intermediate effects by having the primary effect listen to multiple source actions directly, reducing boilerplate code.
#10about 2 minutes
Apply good action hygiene within NgRx effects
Return a single unique event with a complete data payload from an effect instead of an array of command actions to decouple state updates.
#11about 3 minutes
Adopting NgRx best practices for future-proof apps
Following established best practices for NgRx store and effects improves code quality, maintainability, and performance in large Angular applications.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
07:18 MIN
Implementing advanced state management with NgRx
Angular Unleashed: Mastering Modern Web Development with Angular
Unlock Moments
Create a free account to watch a limited number of Moments each month.
Upgrade to PRO for unlimited access to the full archive.
Upgrade to PRO for unlimited access to the full archive.
You have an account? Log in
05:09 MIN
Implementing the event-driven NgRx Signal Store API
Client-Side State Management Reimagined – Think Outside the Box
Unlock Moments
Create a free account to watch a limited number of Moments each month.
Upgrade to PRO for unlimited access to the full archive.
Upgrade to PRO for unlimited access to the full archive.
You have an account? Log in
04:37 MIN
Explaining the core concepts of Redux state management
Hello generics, goodbye boilerplate!
Unlock Moments
Create a free account to watch a limited number of Moments each month.
Upgrade to PRO for unlimited access to the full archive.
Upgrade to PRO for unlimited access to the full archive.
You have an account? Log in
03:57 MIN
Using NgRx Signal Store for robust state management
Client-Side State Management Reimagined – Think Outside the Box
Unlock Moments
Create a free account to watch a limited number of Moments each month.
Upgrade to PRO for unlimited access to the full archive.
Upgrade to PRO for unlimited access to the full archive.
You have an account? Log in
06:12 MIN
Audience Q&A on signals and Angular development
Angular Signals: what's all the fuss about?
Unlock Moments
Create a free account to watch a limited number of Moments each month.
Upgrade to PRO for unlimited access to the full archive.
Upgrade to PRO for unlimited access to the full archive.
You have an account? Log in
02:18 MIN
Exploring modern state management patterns beyond frameworks
Client-Side State Management Reimagined – Think Outside the Box
Unlock Moments
Create a free account to watch a limited number of Moments each month.
Upgrade to PRO for unlimited access to the full archive.
Upgrade to PRO for unlimited access to the full archive.
You have an account? Log in
05:20 MIN
Introduction to state management strategies in Angular
Angular Unleashed: Mastering Modern Web Development with Angular
Unlock Moments
Create a free account to watch a limited number of Moments each month.
Upgrade to PRO for unlimited access to the full archive.
Upgrade to PRO for unlimited access to the full archive.
You have an account? Log in
00:43 MIN
Key takeaways for adopting Nx and monorepos
Nx - the easy choice
Unlock Moments
Create a free account to watch a limited number of Moments each month.
Upgrade to PRO for unlimited access to the full archive.
Upgrade to PRO for unlimited access to the full archive.
You have an account? Log in
Featured Partners
Related Videos
Angular tips/tricks you can use from tomorrow on
Benedikt Starzengruber
Angular Signals: what's all the fuss about?
Daniela Bonvini
Sustainable Angular Architectures with Nx and Strategic Design
Manfred Steyer
Angular Unleashed: Mastering Modern Web Development with Angular
Indu Chaube
How to Create New RxJS Operators
Mohammad-Ali A'râbi
Meet Your New BFF: Backend to Frontend without the Duct Tape
Noam Honig
The Art and Craft of Type Development
Michael Hladky & Stefan Baumgartner
Observables in Plain terms
Georgi Parlakov
Related Articles
View all articles
.webp?w=240&auto=compress,format)


From learning to earning
Jobs that call for the skills explored in this talk.

autoiXpert GmbH & Co. KG
Stuttgart, Germany
Senior
Node.js
Angular
MongoDB
TypeScript


BMS Corporate Solutions GmbH
Düsseldorf, Germany
Intermediate
Senior
CSS
HTML
Angular
TypeScript

JO Media Software Solutions GmBh
Brunn am Gebirge, Austria
Senior
CSS
Angular
JavaScript
TypeScript

doinstruct Software GmbH
Berlin, Germany
Senior
GIT
JavaScript
TypeScript

Nia Health GmbH
Berlin, Germany
Intermediate
Senior
CSS
GIT
React
TypeScript



Optimi Solutions GmbH
Remote
GIT
TypeScript
React Native
Continuous Integration