React
Aprende React desde cero. Componentes, estado, hooks, contexto, rendimiento, enrutamiento, pruebas y una aplicacion final integradora.
17 lecciones, en orden
- 125 min
¿Qué es React?
Te damos la bienvenida. Si nunca has escrito una línea de JavaScript y no tienes claro qué es un "framework", estás en el sitio adecuado. Al terminar...
What React isComponents as functionsVirtual DOM intuitionRendering JSXCreating a Vite app - 230 min
JSX y Components
En la lección anterior viste un componente que devolvía algo con pinta de HTML: return <h1>Hello, React</h1>;. Eso debería haberte chirriado un poco....
JSX syntax rulesSingle root elementClassName vs classEmbedding expressions with {}Defining componentsComposing components - 330 min
Props
Todos los componentes que has escrito hasta ahora tenían el contenido fijo en el código. Greeting saluda siempre al mismo nombre, Card muestra...
Passing props as attributesReceiving props objectDestructuring props in signatureDefault valuesThinking about prop shapes - 435 min
State con useState
Todos los componentes que has escrito hasta ahora devuelven la misma salida para las mismas props, siempre. Eso está bien para un título o una...
UseState hookReading stateCalling the setterUpdater function formNever mutate stateCounter pattern - 530 min
Manejo de eventos
Un componente que solo renderiza a partir de props y estado no es interactivo por sí solo: algo tiene que darse cuenta de cuándo el usuario pulsa un...
OnClick handlerOnChange basicsPassing functions vs calling themEvent objectPassing handlers as props - 630 min
Renderizado condicional y listas
Casi todas las pantallas que has usado en tu vida muestran una cosa u otra según alguna condición: un aviso de «tienes mensajes nuevos» que solo...
&& for show/hideTernary for either/orMapping arrays to JSXThe key propWhy keys need to be stable - 735 min
Formularios y Controlled Inputs
Escribe una letra en un <input> de HTML normal y el navegador se encarga de todo: el elemento del DOM va guardando en silencio lo que has tecleado y...
Controlled input patternValue and onChange togetherMulti-field form stateOnSubmit and preventDefaultGathering form data - 840 min
Effects con useEffect
Hasta ahora, el trabajo de un componente ha sido mirar sus props y su estado actuales y responder a una sola pregunta: qué debe verse en pantalla...
What counts as a side effectUseEffect signatureDependency arrayRunning on mount onlyCleanup functionSubscribe/unsubscribe pattern - 940 min
Obtención de datos
Casi ninguna aplicación real se las arregla mostrando solo los datos que el usuario ya tiene en pantalla. En algún momento un componente necesita...
Fetch inside useEffectLoading/error/data statesAbortController cleanupPreventing setState after unmountMention TanStack Query as a next step - 1035 min
Composición de Components
Has construido una tarjeta con borde y sombra, y queda bien. Ahora necesitas esa misma tarjeta alrededor de una foto, alrededor de un formulario de...
Children propWrapping componentsPassing JSX as propsLifting state upThinking in component trees - 1135 min
Context y useContext
Tu aplicación tiene un interruptor de modo oscuro. El interruptor vive en el panel de ajustes, pero quien necesita saber su valor es un botón que...
CreateContextContext.ProviderUseContextWhen context is the right toolContext vs prop drilling tradeoffs - 1235 min
useReducer
Un formulario de pago empieza siendo simple. Hay un valor, así que añades useState. Luego necesita un mensaje de error, o sea otro useState. Luego...
When to reach for useReducerReducer function shapeAction objectsDispatchCombining useReducer with useContext - 1335 min
Hooks personalizados
Escribiste un cajón que se abre y se cierra. Tres líneas de useState y un manejador que invierte un booleano. Luego lo mismo para un desplegable, y...
Extracting stateful logic into a functionUse prefix conventionUseToggle exampleUseLocalStorage exampleHooks rules - 1435 min
Rendimiento y Memoization
Tu aplicación tiene una tabla con dos mil filas y una caja de búsqueda encima. Cada pulsación se siente pesada: escribes y medio segundo después...
React.memo for componentsUseMemo for expensive computationsUseCallback for stable function referencesWhen memoization is overkillMeasuring before optimizing - 1540 min
Enrutamiento con React Router
Todo lo que has construido hasta ahora vive en una sola dirección. Hay una única página y, sea lo que sea lo que quieras enseñar al usuario, lo...
Installing react-router-domBrowserRouterRoutes and RouteLink for navigationUseParamsUseNavigate - 1640 min
Pruebas de Components de React
Cambias una línea en un componente compartido y después te pasas veinte minutos haciendo clic por toda la aplicación para comprobar que no se ha roto...
Vitest + React Testing Library setupRender and screenGetByRole queriesUserEvent for interactionsWriting one good button test - 1760 min
Proyecto final: Aplicación de tareas
Hasta ahora cada lección te ha ido dando una idea cada vez, con un ejemplo pequeño alrededor. Las aplicaciones reales no son así. En una aplicación...
Combining state, lists, controlled inputsCustom hook for localStorage persistenceSmall routing setupPutting it together
Aprende React en tu idioma
Cada lección, examen y respuesta del tutor aparece en tu idioma. El tutor de IA responde en el idioma en que le hablas.
Roles that use React
See how hiring teams interview engineers on React, in production-like environments.
Frontend Engineer (React, Angular, Vue)
Hire frontend engineers in real workspaces with Vite, real component libraries and real performance budgets. Live or take-home, fully recorded.
See the interviewFull Stack Developer
Hire full stack developers in real apps with real APIs, real UIs and real tests. Live or take-home, fully recorded.
See the interviewWeb Application Engineer
Hire web application engineers in real apps with real routes, real auth and real test suites. Live or take-home, fully recorded.
See the interview