What is ng-state?
RxJS and ImmutableJs powered nested state management for Angular 2+ applications inspired by @ngrx/store. It is simple, fast, reliable with no boilerplate.
ng-state is a tool in the State Management Library category of a tech stack.
ng-state is an open source tool with 13 GitHub stars and 2 GitHub forks. Here’s a link to ng-state's open source repository on GitHub
Who uses ng-state?
ng-state Integrations
ng-state's Features
- Developers do not need to remember long nested paths to access stores
- Decouples / Hides paths to state from components
- Uses Redux like pure functions - actions to interact with state
- No boilerplate
- It is highly performant because of rxjs and ImmutableJS or Immer
- Because of immutable data structure nobody can mutate state
- Keeps state manipulation class close to component Actions but separated which reduces boiler plate and enables cleaner unit testing
- Uses Redux like messages for communication between not related components Dispatcher
- Easy to test Test actions
- Has Redux DevTools integration and Time Travel functionality
- Can restore state from server Server Side Rendering (SSR)
ng-state Alternatives & Comparisons
What are some alternatives to ng-state?
Redux
It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. t provides a great experience, such as live code editing combined with a time traveling debugger.
vuex
Vuex is a state management pattern + library for Vue.js applications. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion. It also integrates with Vue's official devtools extension to provide advanced features such as zero-config time-travel debugging and state snapshot export / import.
MobX
MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). React and MobX together are a powerful combination. React renders the application state by providing mechanisms to translate it into a tree of renderable components. MobX provides the mechanism to store and update the application state that React then uses.
redux-thunk
Redux Thunk middleware allows you to write action creators that return a function instead of an action. The thunk can be used to delay the dispatch of an action, or to dispatch only if a certain condition is met. The inner function receives the store methods dispatch and getState as parameters.
redux-saga
An alternative side effect model for Redux apps