Introducción a React, JSX
2026-01-16
Contenido
De esta forma la variable title se corresponde con una etiqueta que contiene el título. Sin embargo, como podemos podemos utilizar está etiqueta una vez la hemos definido como una variable.
De esta forma estámos encapsulando la etiqueta h1 dentro del div.
Hasta el momento hemos trabajado únicamente con HTML5, el cual a pesar de ser muy eficaz, presenta el inconveniente de que no implementa ninguna clase de lógica. Es decir, si queremos repetir alguna estructura previamente definida deberemos copiarla y pegarla. Otro problema, de HTML puro es la complejidad que requiere el manejo del DOM, como ya se vio en la semana anterior.
Bajo este pretexto, introducimos el framework React diseñado por Meta.
React es un componente basado en la sintaxis JS y en la programación funcional introducida en ES6.
Los componentes de React los definimos como unidades reutilizables y modulares que se implementan de esta forma: una función que devuelve un objeto de JSX
Podemos renderizar nuestro componente Saludo asumiendo que se comporta como una etiqueta html. Recordemos que no lo es.
Dentro de este componente podemos incluir lógica propia de JavaScript, de forma que al definir componente podemos dotarlo de lógica interna.
*Nótese que aunque JS utilice camelCase para el nombre de las funciones, con React utilizaremos PascalCase para definir los componentes puesto que a pesar de que se trata de funciones, trabajaremos con ellas como si fuesen clases.
Hasta ahora, los componentes definidos siempre devuelven el mismo contenido. Sin embargo, para que un componente sea realmente reutilizable, necesitamos poder pasarle información desde el exterior.
En React, esta información se transmite mediante props (properties).
Las props se definen como los parámetros de entrada de un componente y permiten personalizar su comportamiento o su contenido sin modificar su definición interna.
props (forma explícita)Uso del componente:
Uso del componente (idéntico al anterior):
En React, el manejo de eventos se basa en los eventos del DOM, pero utilizando una sintaxis propia de JSX y siguiendo el estilo de JavaScript.
La función asociada al evento no se ejecuta al renderizar el componente, sino únicamente cuando ocurre el evento; es decir la pasamos como un ciudadano de primera clase.
Incorrecto:
React soporta la mayoría de los eventos del DOM, adaptados a la sintaxis JSX. A continuación se listan los eventos más utilizados, clasificados por tipo.
onClickonDoubleClickonMouseEnteronMouseLeaveonMouseMoveonMouseDownonMouseUponKeyDownonKeyUponKeyPressonChangeonSubmitonFocusonBluronInputonResetonLoadonErroronSelectonCopyonCutonPasteonTouchStartonTouchMoveonTouchEndonTouchCancelEn React, los componentes no se renderizan directamente sobre el DOM real, sino que siguen un proceso intermedio que permite optimizar las actualizaciones de la interfaz.
La idea clave es que la interfaz se organiza como un árbol de componentes, análogo al árbol del DOM, pero a un nivel de abstracción superior.
Cuando una aplicación React se ejecuta:
AppEste árbol de componentes se corresponde conceptualmente con el árbol del DOM, aunque no es el DOM real.
El proceso general es el siguiente:
De esta forma, React minimiza el acceso directo al DOM, que es una operación costosa.
Desde un punto de vista conceptual, un componente pasa por tres fases:
En componentes funcionales modernos, este ciclo se gestiona de forma implícita mediante el renderizado y, más adelante, mediante hooks.
El desarrollador no recorre ni manipula el árbol del DOM, sino que trabaja sobre el árbol de componentes.
El desarrollo de aplicaciones web modernas requiere coordinar múltiples elementos: estructura del proyecto, gestión de dependencias, compilación del código y ejecución en el navegador.
Un framework de desarrollo proporciona un entorno de trabajo preconfigurado que organiza estos elementos y establece una forma estándar de trabajar.
Un framework permite al desarrollador:
En lugar de partir de un proyecto vacío, el framework ofrece una base funcional sobre la que desarrollar.
React se encarga de definir cómo se construye la interfaz, pero no gestiona por sí mismo:
Por ello, React se apoya en un framework que orquesta el entorno de ejecución.
Para crear una nueva aplicación React utilizando un framework, se ejecuta el siguiente comando en la terminal:
Este comando genera: