"React te brinda mucha flexibilidad y lo único que se requiere es pensar en componentes."
--Pete Hunt
Finalizamos nuestro viaje de exploración por los diferentes frameworks para construir aplicaciones web con React.
React es una librería de JavaScript que facilita la creación de aplicaciones de una sola página, un concepto ya abordado al hablar de Angular. En React, desarrollamos componentes que gestionan su propio estado y que, a su vez, son las que se muestran en la aplicación.
Al igual que en otros frameworks revisados, React combina HTML con JavaScript para lograr el aspecto dinámico de la aplicación. En React a esta combinación de HTML y JavaScript se le llama JSX (JavaScript XML).
Para transferir datos entre componentes, React utiliza el hook useState
, mientras que useEffect
se emplea para realizar operaciones cuando un componente se carga por primera vez.
Ejemplos de Código
JSX para mostrar la lista de tipos de usuario:
Hook useEffect
para cargar información:
Conexión con la Arquitectura
Para integrar React con la arquitectura limpia, se usaron los mismos servicios REST desarrollados para Angular, pero consumidos mediante la función fetch
.
- Intercomunicación entre componentes mediante
useState
. - Uso de componentes de terceros, como
Slider
, la versión para React del Slider de Slick utilizado en otros frameworks. - Obtención de datos vía
fetch
. - Carga de información inicial con
useEffect
. - Codificación en JSX
El trabajo hecho en los otros Frameworks aportó a la construcción de la aplicación en React y en este caso:
- Se reutilizó aproximadamente el 40% del código HTML, eliminando el código específico de Angular y aplicando JSX.
- Se reutilizó completamente el proyecto Web API de servicios REST creado para Angular.
Conexión con la Arquitectura Establecida
La integración de React con la arquitectura establecida se muestra a continuación:
En el esquema se puede apreciar:
- La aplicación React del lado del cliente. Se muestra como las componentes escritas en JavaScript con JSX, se conectan mediante HTTPS al servicio REST Web API permitiendo así obtener o enviar la información requerida por la aplicación.
- Servicios REST Web API del lado del servidor: Es aquí donde se integra la arquitectura limpia en la aplicación. Y como se ve en el esquema: el componente
Main
actúa como el punto de entrada de la Web API construida, y es en esta componente donde se hace la inyección de dependencias y por ello es que se muestra que tiene dependencia con varias componentes. Este componenteMain
corresponde a los archivosProgram.cs
yStartup.cs
. (en .NET 8 solo se usa el Program.cs).