NGXS es un state management para Angular.
Está basado en el patrón redux, que actúa como fuente única de verdad para el estado de tu aplicación.
Algunas libraries similares y basadas en el mismo patrón son Redux y NGRX.
NGXS reduce las repeticiones utilizando características modernas de TypeScript, como clases y decoradores.
Hay 4 conceptos principales en NGXS:
STORE:
Es el contenedor global del estado, despacha las acciones y el selector.
Es decir proporciona la forma de seleccionar segmentos de datos del estado global.
ACTIONS:
Las acciones pueden considerarse como un comando que desencadena algo, o como el evento resultante de algo que ya sucedió.
Cada acción contiene un campo de tipo, que es su identificador único y payload requerido para esa acción.
STATE:
Los cambios de estado son manejados por funciones puras también llamadas reducers que toman el estado actual y la última acción para calcular un nuevo estado.
SELECTOR:
Los selectores son funciones puras utilizadas para seleccionar, derivar y componer piezas (trozos) de estado.
CRUD CON NestJS & NGXS