Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Migration to Signals, Resource API, and NgRx S...
Search
Manfred Steyer
PRO
October 21, 2025
Programming
0
180
Migration to Signals, Resource API, and NgRx Signal Store
Manfred Steyer
PRO
October 21, 2025
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
83
Your Architecture as a Crime Scene?Forensic Analysis
manfredsteyer
PRO
0
75
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
170
Your Architecture as a Crime Scene:Forensic Analysis
manfredsteyer
PRO
0
75
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
160
Rethinking Angular: The Future with Signal Store and the New Resource API @w-jax 2025, Munich
manfredsteyer
PRO
0
69
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
100
The Missing Link in Angular's Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
150
Rethinking Angular: The Future with Signals and the New Resource API @iJS Munich 2025
manfredsteyer
PRO
0
86
Other Decks in Programming
See All in Programming
エディターってAIで操作できるんだぜ
kis9a
0
640
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
170
connect-python: convenient protobuf RPC for Python
anuraaga
0
350
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
140
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
5
18k
Microservices rules: What good looks like
cer
PRO
0
530
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.2k
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
550
Level up your Gemini CLI - D&D Style!
palladius
1
170
CSC305 Lecture 15
javiergs
PRO
0
240
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
250
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
690
How to train your dragon (web standard)
notwaldorf
97
6.4k
Unsuck your backbone
ammeep
671
58k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
The Invisible Side of Design
smashingmag
302
51k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Making Projects Easy
brettharned
120
6.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Transcript
@ManfredSteyer @ManfredSteyer Migration to Signals, Resource API, and NgRx Signal
Store Manfred Steyer, ANGULARarchitects.io
@ManfredSteyer Application Code as a Script
@ManfredSteyer Signals => Reactive Programming => Paradigm Shift!
@ManfredSteyer Marble Run
@ManfredSteyer Marble Run Data Binding
@ManfredSteyer Agenda #1 Signals #2 Resource API #3 Effects #4
SignalStore #5 Mutation API #6 Signal Forms
@ManfredSteyer About me… Manfred Steyer, ANGULARarchitects.io (Remote) Angular Workshops and
Consulting Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular Manfred Steyer
@ManfredSteyer @ManfredSteyer 8 Signals 101
@ManfredSteyer Signals: Simple Reactivity Signal as Producer 4711 Consumer read
set notify 4712
@ManfredSteyer Component With Signals flights = signal<Flight[]>([]); const flights =
await this.flightService.findAsPromise(from, to); this.flights.set(flights); <div *ngFor="let f of flights()"> <flight-card [item]="f" /> </div>
@ManfredSteyer @ManfredSteyer 11 DEMO
@ManfredSteyer @ManfredSteyer 12 Race Conditions
@ManfredSteyer Resource Prevents Race Conditions Pancakes Sacher Cake Ice Cream
Pancakes
@ManfredSteyer Resource Prevents Race Conditions Pancakes Sacher Cake Ice Cream
Pancakes „switchMap semantics“
@ManfredSteyer @ManfredSteyer 15 Effects
@ManfredSteyer Connecting Reactive and Imperative World
@ManfredSteyer
@ManfredSteyer @ManfredSteyer 18 • Drawing on a canvas • Manual
DOM manipulations • Logging • Synching with LocalStore Ideal-typical Tasks Rendering (and similar tasks …) Stuff, you cannot do with data binding
@ManfredSteyer @ManfredSteyer 19 DEMO
@ManfredSteyer @ManfredSteyer 20 Architecture Rule #1 Derive state where possible
(sync: computed, async: Resource API) Architecture Rule #2 Avoid effects for triggering business logic! Architecture Rule #3 Reactive Helpers (e.g., Resource API) streamline your reactive flow Architecture Rules
@ManfredSteyer @ManfredSteyer 21 Stores
@ManfredSteyer Stores Streamline Reactive Flow Component Store "Intention" Signal sync/
async computed() computed()
@ManfredSteyer @ManfredSteyer 23 Two Reasons for a Store Manage State
Streamline Dataflow
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer @ManfredSteyer 27 NGRX Signal Store
@ManfredSteyer NGRX Signal Store export const FlightBookingStore = signalStore( {
providedIn: 'root' }, […] );
@ManfredSteyer NGRX Signal Store export const FlightBookingStore = signalStore( {
providedIn: 'root' }, withState({ from: 'Paris', to: 'London', […] }), […] );
@ManfredSteyer NGRX Signal Store export const FlightBookingStore = signalStore( {
providedIn: 'root' }, withState({ from: 'Paris', to: 'London', […] }), withComputed(([…]) => ({ […] })), withMethods(([…]) => ({ })), withHooks({ […] }) );
@ManfredSteyer Extensions export const FlightBookingStore = signalStore( { providedIn: 'root'
}, withState({ from: 'Paris', to: 'London', […] }), withComputed(([…]) => ({ […] })), withMethods(([…]) => ({ })), withHooks({ […] }), withResource([…]}), withDevtools([…]}), withUndoRedo(), );
@ManfredSteyer @ManfredSteyer 32 DEMO
@ManfredSteyer @ManfredSteyer 33 Modern Angular 2nd Edition angularArchitects.io/modern Free eBook
@ManfredSteyer Summary Signals: Reactive Programming Derive State Effects: Not for
Biz Logic Stores Streamline Reactivity
@ManfredSteyer Marble Run
@ManfredSteyer Marble Run Data Binding
@ManfredSteyer 37 [Social Media] Manfred Steyer [web] ANGULARarchitects.io Manfred Steyer
@ Manfred Steyer Slides & Examples Remote Company Workshops and Consulting http://angulararchitects.io