Introducción a useState en React
Introducción a useState en React (para principiantes)
Cuando empezamos a aprender React, uno de los primeros conceptos importantes es el estado. El estado nos permite guardar información dentro de un componente y hacer que la interfaz cambie cuando esa información cambia.
En React, el hook más básico para manejar estado se llama useState.
¿Qué es useState?
useState es una función que nos permite:
- Guardar un valor dentro de un componente
- Actualizar ese valor
- Hacer que el componente se vuelva a renderizar cuando el valor cambia
En pocas palabras: useState sirve para manejar datos que pueden cambiar en el tiempo.
Importar useState
Antes de usarlo, debemos importarlo desde React:
import { useState } from "react";
Estructura básica de useState
La forma más común de usar useState es esta:
const [estado, setEstado] = useState(valorInicial);
¿Qué significa esto?
estado: es el valor actualsetEstado: es la función que usamos para cambiar el valorvalorInicial: es el valor con el que empieza el estado
Ejemplo simple:
const [contador, setContador] = useState(0);
contadorempieza en0setContadorsirve para cambiar ese número
Ejemplo 1: Contador básico
Este es el ejemplo clásico para entender useState.
import { useState } from "react";
function Contador() {
const [contador, setContador] = useState(0);
return (
<div>
<p>Contador: {contador}</p>
<button onClick={() => setContador(contador + 1)}>
Aumentar
</button>
</div>
);
}
export default Contador;
¿Qué está pasando aquí?
-
contadorguarda un número -
Al hacer clic en el botón:
- Se ejecuta
setContador(contador + 1) - El valor cambia
- React vuelve a renderizar el componente
- Se ejecuta
-
El número en pantalla se actualiza automáticamente
Ejemplo 2: Manejar texto (input)
useState no solo sirve para números, también para texto.
import { useState } from "react";
function Nombre() {
const [nombre, setNombre] = useState("");
return (
<div>
<input
type="text"
value={nombre}
onChange={(e) => setNombre(e.target.value)}
/>
<p>Hola, {nombre}</p>
</div>
);
}
export default Nombre;
Explicación simple
nombreguarda lo que el usuario escribeonChangedetecta cada cambio del inputsetNombreactualiza el estado- El texto se muestra en tiempo real
Ejemplo 3: Estado booleano (true / false)
Muy común para mostrar u ocultar cosas.
import { useState } from "react";
function MostrarTexto() {
const [visible, setVisible] = useState(false);
return (
<div>
<button onClick={() => setVisible(!visible)}>
Mostrar / Ocultar
</button>
{visible && <p>Este texto es visible</p>}
</div>
);
}
export default MostrarTexto;
¿Qué aprendemos aquí?
visiblesolo puede sertrueofalse!visibleinvierte el valor- React muestra el texto solo si
visibleestrue
Reglas importantes de useState
- Solo se usa dentro de componentes
- No se puede usar dentro de condicionales o bucles
- Nunca modifiques el estado directamente
Incorrecto:
contador = contador + 1;
Correcto:
setContador(contador + 1);
Gracias por leer.