# Introduction

There are 4 major concepts to NGXS:

* Store: Global state container, action dispatcher and selector
* Actions: Class describing the action to take and its associated metadata
* State: Class definition of the state
* Selects: State slice selectors

These concepts create a circular control flow traveling from a component dispatching an action, to a store reacting to the action, back to the component through a state select.

![](https://3923307521-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L9CoGJCq3UCfKJ7RCUg%2F-LZoLccbzvZjhcgtrQ0z%2F-LZoLea7ZgBJTqq73TVX%2Fdiagram.png?generation=1551361553530490\&alt=media)
