Cronograma para Aprender React en 15 Días
Día 1: Introducción a React
Temas: ¿Qué es React? JSX, create-react-app (o Vite), componentes funcionales.
Actividades:
- Lee el "Tutorial: Tic-Tac-Toe" en react.dev.
- Mira un video introductorio (ej. "React for Beginners" en freeCodeCamp, ~1 hora).
- Instala Node.js y crea una app con
npx create-react-app mi-app
onpm init vite
.
Tarea práctica: Crea un componente simple que muestre "Hola Mundo" y ejecútalo con npm start
.
Día 2: Componentes y Props
Temas: Componentes reutilizables, props, rendering condicional.
Actividades:
- Estudia "Main Concepts" en react.dev (hasta "Lists and Keys").
- Practica creando componentes anidados.
Tarea práctica: Construye una lista de tareas simple (ToDo list) pasando props de un componente padre a hijos.
Día 3: Estado y Eventos
Temas: useState hook, manejo de eventos, actualización de estado.
Actividades:
- Continúa con "State and Lifecycle" en react.dev.
- Experimenta con formularios básicos.
Tarea práctica: Extiende la ToDo list para agregar/eliminar items usando estado.
Día 4: Listas, Keys y Formularios
Temas: Rendering de listas, keys únicas, inputs controlados.
Actividades:
- Lee sobre "Forms" en react.dev.
- Integra un formulario en tu app.
Tarea práctica: Mejora la ToDo list con un formulario para añadir tareas y persistencia básica.
Día 5: Hooks Básicos (useEffect, useContext)
Temas: useEffect para side effects, useContext para compartir estado.
Actividades:
- Estudia "Hooks" en react.dev.
- Integra useEffect para fetch de datos mock.
Tarea práctica: Fetch datos de una API (JSON Placeholder) y muéstralos en una lista.
Día 6: Routing con React Router
Temas: Instalación de React Router, rutas, navegación.
Actividades:
- Instala
react-router-dom
y lee su documentación. - Crea una app con múltiples páginas.
Tarea práctica: Convierte tu ToDo app en una SPA con rutas (home, lista, about).
Día 7: Estado Avanzado y Custom Hooks
Temas: useReducer para estado complejo, creación de hooks personalizados.
Actividades:
- Compara useState vs. useReducer.
- Crea un custom hook para fetch de datos.
Tarea práctica: Refactoriza la ToDo list usando useReducer y un custom hook.
Día 8: Estilos en React
Temas: Styled-components o Tailwind CSS, responsive design.
Actividades:
- Instala y prueba una librería de estilos (ej.
npm install tailwindcss
). - Aplica estilos a componentes.
Tarea práctica: Estiliza tu app con Tailwind o styled-components para que sea responsive.
Día 9: Proyecto Intermedio
Tarea práctica: Construye una app de blog simple: fetch posts de una API, routing, y estilos. Publica en GitHub.
Día 10: State Management con Redux o Context API
Temas: Redux basics (actions, reducers, store) o Context avanzado.
Actividades:
- Instala
redux
yreact-redux
, sigue tutoriales. - Migra estado local a global.
Tarea práctica: Integra Redux en tu blog app para manejar posts.
Día 11: Optimización y Performance
Temas: Memoization (useMemo, useCallback), lazy loading, React Profiler.
Actividades:
- Lee sobre "Optimizing Performance" en react.dev.
- Optimiza renders innecesarios.
Tarea práctica: Aplica memoization en componentes de tu app y mide performance.
Día 12: Testing en React
Temas: Jest y React Testing Library, tests unitarios y de integración.
Actividades:
- Instala dependencias y escribe tests básicos.
Tarea práctica: Escribe tests para tu ToDo list o blog app (cobertura >50%).
Día 13: Despliegue y Mejores Prácticas
Temas: Despliegue en Vercel/Netlify, code splitting, accesibilidad.
Actividades:
- Despliega tu app en Vercel.
- Revisa checklists de best practices.
Tarea práctica: Despliega tu proyecto intermedio y agrega accesibilidad (ARIA roles).
Día 14: Proyecto Final - Parte 1
Tarea práctica: Diseña una app e-commerce o dashboard: integra API real (ej. Fake Store API), routing, state management, estilos y tests.
Día 15: Proyecto Final - Parte 2 y Repaso
Actividades:
- Completa y despliega el proyecto.
- Revisa conceptos clave: hooks, routing, etc.
- Agrega el proyecto a tu portafolio.
Tarea práctica: Publica en GitHub con README detallado, despliega en Vercel y comparte en LinkedIn o X.
Recursos Recomendados
- Documentación oficial: react.dev
- Cursos gratuitos: freeCodeCamp React section, Scrimba React course.
- Pagos/Avanzados: "React - The Complete Guide" en Udemy.
- Práctica: CodeSandbox, StackBlitz; comunidades en Reddit (r/reactjs), Discord, #ReactJS en X.
- Herramientas: Integra ESLint y Prettier para código limpio.