Eventos y estado local con useState

Aprende cómo reaccionar a interacciones del usuario y cómo el estado local controla el render en React.

Una interfaz sin eventos es estática: React cobra sentido cuando respondes a clics, envíos de formularios, cambios de inputs y acciones del usuario.

useState permite almacenar memoria local del componente y volver a renderizar la UI cuando ese dato cambia.

La idea clave es que no manipulas el DOM directamente: cambias estado, y React recalcula la vista.

Esta separación mejora mucho la consistencia del código frente a enfoques imperativos.

  • React usa eventos sintéticos con una interfaz consistente en distintos navegadores.
  • En JSX, los manejadores se pasan como funciones: `onClick`, `onChange`, `onSubmit`.
  • No debes ejecutar la función en el render (`onClick={miFn()}`) salvo casos concretos; normalmente pasas la referencia (`onClick={miFn}`).
  • Las funciones de evento son el puente entre interacción de usuario y actualización de estado.
  • Cada llamada a useState devuelve el valor actual y su función de actualización.

Eventos en React: misma intención, API coherente

React usa eventos sintéticos con una interfaz consistente en distintos navegadores.

En JSX, los manejadores se pasan como funciones: `onClick`, `onChange`, `onSubmit`.

No debes ejecutar la función en el render (`onClick={miFn()}`) salvo casos concretos; normalmente pasas la referencia (`onClick={miFn}`).

Las funciones de evento son el puente entre interacción de usuario y actualización de estado.

useState: memoria local del componente

Cada llamada a useState devuelve el valor actual y su función de actualización.

Buenas prácticas iniciales

Pequeñas decisiones aquí evitan bugs cuando el componente crezca.

Cuando varias actualizaciones dependen del estado previo, usa `setState(prev => prev + 1)` para evitar inconsistencias.

No guardes en estado lo que puedes derivar directamente de props o de otros estados.

La claridad del modelo de estado es más importante que escribir menos líneas.

  • Nombrar estado con intención: `isOpen`, `searchTerm`, `selectedId`.
  • Evitar múltiples estados duplicados para el mismo dato.
  • Usar actualización funcional cuando dependes del valor previo.
  • Mantener handlers simples y enfocados.
React
06

Eventos y estado local con useState

Aprende cómo reaccionar a interacciones del usuario y cómo el estado local controla el render en React.

Código del tema: const [value, setValue] = useState("");

📘 Teoría

Eventos en React: misma intención, API coherente

React usa eventos sintéticos con una interfaz consistente en distintos navegadores.

1

En JSX, los manejadores se pasan como funciones: `onClick`, `onChange`, `onSubmit`.

2

No debes ejecutar la función en el render (`onClick={miFn()}`) salvo casos concretos; normalmente pasas la referencia (`onClick={miFn}`).

3

Las funciones de evento son el puente entre interacción de usuario y actualización de estado.

useState: memoria local del componente

Cada llamada a useState devuelve el valor actual y su función de actualización.

Buenas prácticas iniciales

Pequeñas decisiones aquí evitan bugs cuando el componente crezca.

Cuando varias actualizaciones dependen del estado previo, usa `setState(prev => prev + 1)` para evitar inconsistencias.

No guardes en estado lo que puedes derivar directamente de props o de otros estados.

La claridad del modelo de estado es más importante que escribir menos líneas.

  • Nombrar estado con intención: `isOpen`, `searchTerm`, `selectedId`.
  • Evitar múltiples estados duplicados para el mismo dato.
  • Usar actualización funcional cuando dependes del valor previo.
  • Mantener handlers simples y enfocados.

🧪 Aprende probando

Ejemplo Ejemplo: panel desplegable Un caso real sencillo donde el estado decide si se muestra contenido adicional.

🏁 Retos

Reto Reto: contador con incremento funcional Actualiza el contador usando la forma funcional de setState.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre React.

Test de React

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros. culTest

La hice en febrero de 2026 para facilitar el aprendizaje de mis alumnos. La idea es aprender desarrollo web practicando y que el proyecto siga creciendo con nuevos temas, tests y retos.

Está inspirada en MDN, W3Schools, CodePen, Manz y muchos otros sitios de documentación sobre desarrollo web. Quería combinar teoría útil, ejemplos ejecutables, retos y el sistema de tests que ya tenía en culTest. culTest

Si te gustó, si no te gustó o si quieres escribirme, puedes hacerlo en cristianeslava@gmail.com