# 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.

<div align="center"><img src="https://1598654836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrDl4E6ZKlPc5IazKkviH%2Fuploads%2Fgit-blob-7371002ded66c4455ca986a4c8e7c1f6849ffef9%2Fdiagram.png?alt=media" alt=""></div>
