KEMBAR78
RXJS Best (& Bad) Practices for Angular Developers | PDF
fabiobiondi.io
RXJSBESTPRACTICES
FABIOBIONDI.io
1 2 3 4 5
fabiobiondi.io
RXJSBADPRACTICES
FABIOBIONDI.io1
2
3
4
5
fabiobiondi.io
Google Developer Expert
Microsoft MVP
JS Training
Community Founder
RXJS COMMON MISTAKES
THERE ARE 3
“BAD PRACTICES” HERE
use “$” in observable’s names
1
fabiobiondi.io
v
x
subscribe in ngOnInit
2
fabiobiondi.io
unsubscribe your observables
3
fabiobiondi.io
fabiobiondi.io
Another way to unsubscribe
3b
fabiobiondi.io
fabiobiondi.io
Using async pipe
3c
fabiobiondi.io
fabiobiondi.io
*ngIf...as...else
async pipe
fabiobiondi.io
fabiobiondi.io
Don’t pass streams to
components
fabiobiondi.io
fabiobiondi.io
SUBSCRIBE in SUBSCRIBE?
NO THANKS 🤷
fabiobiondi.io
fabiobiondi.io
HANDLE ERRORS
fabiobiondi.io
fabiobiondi.io
SUBJECT asObservable
fabiobiondi.io
fabiobiondi.io
Pure Functions
fabiobiondi.io
fabiobiondi.io
LIMIT LOGIC IN OBSERVERs
fabiobiondi.io
fabiobiondi.io
Work with Arrays
fabiobiondi.io
fabiobiondi.io
Create a flow of streams
(Angular HTTPInterceptor example)
HTTPInterceptor
fabiobiondi.io
HTTPInterceptor
fabiobiondi.io
HTTPInterceptor
fabiobiondi.io
RxJS is everywhere (in Angular)
in directives, forms, router guards/events/props,
interceptors, @Output EventEmitters, …
fabiobiondi.io
Reactive Forms
fabiobiondi.io
Router Guard
fabiobiondi.io
Directives
fabiobiondi.io
Component @Output Emitter
fabiobiondi.io
REDUX / NGRX
fabiobiondi.io
NGRX Effects
actions observable
dispatch new actions
NGRX: conditional actions
fabiobiondi.io
NGRX: conditional actions
NGRX: dispatch multiple actions
fabiobiondi.io
fabiobiondi.io
Redux Observable for React
actions observable
fabiobiondi.io
Don’t use tap :)
it’s just for logs 😱
fabiobiondi.io
USEFUL STUDY TIPS
fabiobiondi.io
YOU SHOULD KNOW FOLLOWING CONCEPTS:

Cold vs Hot Observables
Unicast vs Multicast
Outer vs Inner observables
Pure Functions & Immutability
Think Async
Learn how to work with multiple streams
fabiobiondi.io
FUNDAMENTALS OPERATORS YOU SHOULD KNOW

creation:

transformation:

filtering:

combination:
multicast:

& Subjects
of, from, fromEvent, interval, …
buffer, toArray, groupBy, reduce, map, …
switchMap, concatMap, exhaustMap, mergeMap
filter, take, first, skip, last, distinct,
***Until, ***While, …
zip, withLatestFrom, merge, combineLatest, forkJoin, …
publish, refCount, share, multicast
Subject, BehaviorSubject, ReplaySubject,
AsyncSubjecs
fabiobiondi.io
RESOURCES
fabiobiondi.io
rxjs-dev.com
learnrxjs.io
fabiobiondi.io
fabiobiondi.io
FACEBOOKCOMMUNITIES
fabiobiondi.ioFRONT_END TRAINING

RXJS Best (& Bad) Practices for Angular Developers