Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Migration to Signals, Signal Forms, Resource AP...

Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich

Avatar for Manfred Steyer

Manfred Steyer PRO

March 17, 2026
Tweet

More Decks by Manfred Steyer

Other Decks in Programming

Transcript

  1. @ManfredSteyer @ManfredSteyer Migration to Signals, Signal Forms, Resource API, and

    NgRx Signal Store Manfred Steyer, ANGULARarchitects.io
  2. @ManfredSteyer Agenda #1 Signals #2 Resource API #3 Effects #4

    SignalStore #5 Mutation API #6 Signal Forms
  3. @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
  4. @ManfredSteyer @ManfredSteyer 11 Component With Signals flights = signal<Flight[]>([]); const

    flights = await this.flightService.findAsPromise(from, to); this.flights.set(flights); @for(f of flights(); track f.id) { <flight-card [item]="f" /> }
  5. @ManfredSteyer @ManfredSteyer 19 • 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
  6. @ManfredSteyer @ManfredSteyer 21 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
  7. @ManfredSteyer NGRX Signal Store export const FlightBookingStore = signalStore( {

    providedIn: 'root' }, withState({ from: 'Paris', to: 'London', […] }), […] );
  8. @ManfredSteyer NGRX Signal Store export const FlightBookingStore = signalStore( {

    providedIn: 'root' }, withState({ from: 'Paris', to: 'London', […] }), withComputed(([…]) => ({ […] })), withMethods(([…]) => ({ })), withHooks({ […] }) );
  9. @ManfredSteyer Extensions export const FlightBookingStore = signalStore( { providedIn: 'root'

    }, withState({ from: 'Paris', to: 'London', […] }), withComputed(([…]) => ({ […] })), withMethods(([…]) => ({ })), withHooks({ […] }), withResource([…]}), withDevtools([…]}), withUndoRedo(), );
  10. @ManfredSteyer @ManfredSteyer 34 Architecture, Concepts, Implementation Modern Angular 400+ pages,

    PDF, EPUB Regular Free Updates! Q1/2026 Waiting List: (Early Bird Discount) angular-book.com
  11. @ManfredSteyer 38 [Social Media] Manfred Steyer [web] ANGULARarchitects.io Manfred Steyer

    @ Manfred Steyer Slides & Examples Remote Company Workshops and Consulting http://angulararchitects.io