> For the complete documentation index, see [llms.txt](https://rangle-io.gitbook.io/react-training/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rangle-io.gitbook.io/react-training/index-2/stateful_vs_stateless.md).

# Stateful vs Stateless Components

## Stateful

* When you need internal state
  * D3 graph
* When you need to utilize a Component Lifecycle hook
  * Ajax request on mount
    * Setup animations
    * Access the raw DOM node for a 3rd party library

## Stateless

95% of the time all you need is a stateless component.
