Purpose
To manage and control the internal state of a component
To pass data from a parent component to a child component
Type of data
Mutable
Immutable
Setting values
Using setState() method
Passed down from parent component
Accessing values
Using this.state property
Using this.props property
Changing values
Only within the component
Only changed by the parent component
Sharing data
Not shared between components
Can be shared between multiple components using the same prop