- Immutable state - it should not be changeable instead is replaced. Everything that changes in your app including the date and the UI state is stored in a single object tree.
- State is read only - to make a change you need to dispatch an action. An action is a plain javascript object. State = data, change = action
- Pure 2. Depend only on their input params 3. Some value for some input elements