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.
Picnic Technologies B.V.
Amsterdam, Netherlands
Intermediate
Senior
TypeScript
Angular
+1
MARKT-PILOT GmbH
Stuttgart, Germany
Remote
€75-90K
Senior
Java
TypeScript
+1
Matching moments
01:32 MIN
Organizing a developer conference for 15,000 attendees
Cat Herding with Lions and Tigers - Christian Heilmann
03:17 MIN
Selecting strategic partners and essential event tools
Cat Herding with Lions and Tigers - Christian Heilmann
04:57 MIN
Increasing the value of talk recordings post-event
Cat Herding with Lions and Tigers - Christian Heilmann
04:49 MIN
Using content channels to build an event community
Cat Herding with Lions and Tigers - Christian Heilmann
02:44 MIN
Rapid-fire thoughts on the future of work
What 2025 Taught Us: A Year-End Special with Hung Lee
03:39 MIN
Breaking down silos between HR, tech, and business
What 2025 Taught Us: A Year-End Special with Hung Lee
03:38 MIN
Balancing the trade-off between efficiency and resilience
What 2025 Taught Us: A Year-End Special with Hung Lee
03:15 MIN
The future of recruiting beyond talent acquisition
What 2025 Taught Us: A Year-End Special with Hung Lee
Featured Partners
Related Videos
Angular tips/tricks you can use from tomorrow on
Benedikt Starzengruber
Hello generics, goodbye boilerplate!
Miroslav Jonaš
Practice makes perfect - when it comes to RxJS
Jan-Niklas Wortmann
Client-Side State Management Reimagined – Think Outside the Box
Michael Egger-Zikes
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
Related Articles
View all articles



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


Visonum GmbH
Remote
Junior
Intermediate
React
Redux
TypeScript


Douglas GmbH
Düsseldorf, Germany
Intermediate
Senior
React
TypeScript




Navigating Art
Berlin, Germany
Senior
CSS
GIT
RxJS
SASS
REST
+6

snapADDY GmbH
Remote
API
Redis
Ionic
NestJS
+9