CodeAventura
React
▸Descubriendo React▸¿Qué es React y por qué existe?

Misión

// ¡Bienvenido a React!
// Modifica este componente para que muestre TU mensaje

export default function App() {
  return (
    <div>
      <h1>Hola Mundo</h1>
      <p>Esta es mi primera app con React</p>
    </div>
  );
}

●localhost:5173
01 / 21¿Qué es React y por qué existe?

¿Qué es React y por qué existe?

La web se volvió complicada

Hubo un tiempo en que las páginas web eran simples: HTML para la estructura, CSS para los estilos, y un poco de JavaScript para que un menú se desplegara o un formulario se validara.

Pero la web creció. Hoy usamos aplicaciones web completas en el navegador: Gmail, Spotify, Twitter, Notion... Aplicaciones con miles de elementos interactivos que cambian constantemente según lo que hace el usuario.

Construir estas interfaces con JavaScript puro se volvió un caos. Imagina tener que decirle al navegador, paso a paso, qué elemento crear, dónde insertarlo, cuándo actualizarlo y cuándo eliminarlo. Para cada botón, cada lista, cada notificación.

Imperativo vs Declarativo

// Imperativo (JavaScript puro)
const btn = document.createElement('button');
btn.textContent = 'Clicks: 0';
let count = 0;
btn.addEventListener('click', () => {
  count++;
  btn.textContent = 'Clicks: ' + count;
});
document.body.appendChild(btn);

Le dices al navegador CÓMO hacerlo: crea esto, añade aquello, escucha esto...

React al rescate

En 2013, Facebook tenía exactamente este problema. Su interfaz era tan compleja que los bugs aparecían por todas partes: las notificaciones no se actualizaban, los contadores mostraban números incorrectos, los mensajes aparecían duplicados.

Un ingeniero llamado Jordan Walke propuso una idea radical: ¿y si en vez de decirle al navegador CÓMO actualizar la página, simplemente le describimos CÓMO debería verse?

Así nació React — una librería de JavaScript para construir interfaces de usuario de forma declarativa.

Imperativo vs Declarativo

Para entender por qué React es especial, compara estas dos formas de pensar:

Imperativo (JavaScript puro — le dices CÓMO hacerlo paso a paso):

Declarativo (React — le describes QUÉ quieres ver):

Con React, tú describes el resultado final y React se encarga de hacer todos los cambios necesarios en la página. Es como la diferencia entre darle a alguien instrucciones paso a paso para llegar a un sitio versus simplemente decirle la dirección.

Desarrollo basado en componentes

La idea más poderosa de React es que puedes dividir tu interfaz en componentes — piezas independientes y reutilizables. Piensa en piezas de LEGO:

  • Un Header con el logo y la navegación
  • Una Card que muestra información de un producto
  • Un Button que se puede reusar en toda la app
  • Un Footer con los enlaces del sitio

Cada componente es una función de JavaScript que devuelve un trozo de interfaz. Y lo mejor: puedes componer componentes dentro de otros componentes, como cajas dentro de cajas.

¿Ves esas etiquetas que parecen HTML pero empiezan con mayúscula? Son componentes de React. Pronto aprenderás a crear los tuyos.

React no es un framework

Un detalle importante: React es una librería, no un framework. ¿La diferencia? Un framework te dicta cómo organizar todo tu proyecto. React solo se encarga de una cosa: la interfaz de usuario. Para lo demás (rutas, peticiones a APIs, etc.) tú eliges las herramientas que prefieras.

Esto lo hace ligero, flexible y fácil de adoptar gradualmente.

Tu desafío 🚀

Mira el editor a tu derecha. Ya tienes un componente App funcionando con un <h1> y un <p>. El preview de abajo muestra el resultado en vivo.

  1. Cambia el texto del <h1> por algo tuyo
  2. Cambia el texto del <p> por un mensaje personal
  3. Observa cómo el preview se actualiza automáticamente al editar

Esto es React en acción: describes la interfaz y React se encarga del resto.

Acabas de dar tu primer paso en React. A partir de aquí, construirás interfaces que antes parecían imposibles.