Skip to content

jsegarr/react-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-demo

Proyecto de demostración progresiva de React. Cada versión introduce nuevos conceptos sobre la anterior, desde lo más básico hasta el uso de Redux Toolkit con RTK Query.

Requisitos previos

  • Node.js v18 o superior
  • npm (incluido con Node.js)

Instalación

npm install

Arrancar la aplicación

npm run dev

La app estará disponible en http://localhost:5173.

Cambiar de versión

La versión activa se controla desde index.html. Edita la línea del <script> al final del <body> y cambia el path a la versión que quieras:

<!-- Cambia "v1" por la versión deseada: v1, v1plus, v2, v3, v3plus, v4, v5, v5plus -->
<script type="module" src="/src/v1/main.jsx"></script>

Guarda el archivo y Vite recargará la app automáticamente.


Versiones

v1 — Contador básico con useState

Contador con botones + y implementado íntegramente en App.jsx.
Conceptos: useState, manejo de eventos.

v1plus — Extracción del componente Counter

La UI del contador se mueve a un componente hijo Counter.jsx. El estado sigue viviendo en App.
Conceptos: composición de componentes, paso de props.

v2 — Llamada a la API de chistes (consola)

Cuando el contador es múltiplo de 5 aparece un botón que llama a la API icanhazdadjoke. El chiste se imprime por consola.
Conceptos: fetch, eventos condicionales.

v3 — Mostrar el chiste en la UI

Igual que v2, pero el chiste se guarda en un segundo estado y se renderiza en pantalla.
Conceptos: múltiples useState, renderizado condicional.

v3plus — Carga automática con useEffect

El chiste se carga automáticamente cada vez que el contador alcanza un múltiplo de 5, sin necesidad de botón.
Conceptos: useEffect, dependencias del efecto.

v4 — Custom hook useJokes

La lógica de la API y el efecto se extraen al hook useJokes.js. La app acumula todos los chistes cargados en una lista.
Conceptos: custom hooks, separación de lógica y presentación.

v5 — Redux Toolkit + RTK Query

Se introduce Redux como gestor de estado global. Las peticiones a la API se gestionan con RTK Query (store.js + api/jokesApi.js).
Conceptos: Redux Toolkit, configureStore, RTK Query, createApi.

v5plus — Estados de carga y error

Sobre v5, el hook useJokes expone también isLoading y error, mostrando feedback visual al usuario durante la carga y en caso de fallo.
Conceptos: manejo de estados asíncronos (isLoading, error) con RTK Query.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors