What is NgRx?
NgRx is a reactive library for Angular (not AngularJS) that is composed of several modules for managing application state. NgRx is inspired by the Redux library, which is a popular library for managing state in a React application.
What is Reactive?
Reative programming, defined by Wikipedia:
In computing, reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change.
A couple of things should stick out to us as Angular developers:
- Data streams
- Popagation of change
Modules
NgRx is composed of several modules:
- @ngrx/store
- @ngrx/effects
- @ngrx/router-store
- @ngrx/store-devtools
- @ngrx/entity
- @ngrx/schematics