Saltar al contenido
Curso de React
Todos los cursos

Ejercicio: Estado con useState

  • ⏱ 25 minutos
  • 📶 Nivel: principiante

Objetivo

Crear un Contador con estado propio, tres botones y dos copias independientes.

Cómo se trabaja

Escribe un componente llamado App (puedes crear los demás que necesites). Prueba tu código en el editor de abajo; cuando funcione, pega todo el archivo en el comprobador. Los import de react se aceptan y se ignoran, porque aquí React ya está cargado.

⚛️ Tu editor de React (empieza desde aquí)
Consola

Pasos

Marca cada paso a medida que lo completes. Tu avance se guarda en este navegador.

💡 Pista 1: no bajar de cero

Al restar usa setN(n => Math.max(0, n - 1)).

💡 Pista 2: botones

Escribe el texto exacto de cada botón («Sumar», «Restar», «Reiniciar») para que el comprobador los encuentre.

🔎 Comprueba tu trabajo

Pega tu código y pulsa Comprobar. La revisión ocurre en tu navegador; nada se envía a ningún sitio. Cada punto en rojo incluye una pista.

    ✅ Ver una solución posible

    Intenta resolverlo antes de mirar. Tu versión puede ser distinta y también correcta.

    App.jsx
    import { useState } from "react";
    
    function Contador() {
      const [n, setN] = useState(0);
      return (
        <section>
          <strong className="cuenta">{n}</strong>
          <button onClick={() => setN(n => n + 1)}>Sumar</button>
          <button onClick={() => setN(n => Math.max(0, n - 1))}>Restar</button>
          <button onClick={() => setN(0)}>Reiniciar</button>
        </section>
      );
    }
    
    export default function App() {
      return (
        <main>
          <Contador />
          <Contador />
        </main>
      );
    }

    💡 🏁 Reto extra (opcional)

    Añade un campo «Paso»: un número en estado (1, 5 o 10) que cambia cuánto suman y restan los botones.