Redux is used to change the state of application.
- Single source of truth - State of whole application is stored in a single tree
- State is read only - Only by emitting action, we can change the state of applcation
- Changes are made with pure functions - Reducers which are pure functions can only change the state
- It's a method you provide to connect
- Recieves dispatch as an argument
- Allows you to create functions which dispatch actions
- It can return an object which is passed to component as props.