> For the complete documentation index, see [llms.txt](https://manu-artero-anguita.gitbook.io/buenas-practicas-con-react/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manu-artero-anguita.gitbook.io/buenas-practicas-con-react/sesion-3/8.-patrones-comunes-en-react.md).

# 8. Patrones comunes en React

### Estado

| Hook           | Uso                                                         |
| -------------- | ----------------------------------------------------------- |
| `useState()`   | React 101                                                   |
| `useReducer(`) | Actualizar partes específicas de un estado complejo.        |
| `useContext()` | Un componente padre maneja el estado accesible por N hijos. |

### Optimización

| hook            | Uso                                                                  |
| --------------- | -------------------------------------------------------------------- |
| `useMemo()`     | Procesar API y cálculos pesados (solo \*muy\* pesados)               |
| `useCallback()` | Evitar una llamada a función (que es dependencia de un `useEffect()` |
|                 |                                                                      |

### Otros

| Hook       | Uso                             |
| ---------- | ------------------------------- |
| `useRef()` | Mantener un valor entre renders |
