Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Act 1 Solución
Act 1 Solución
Desarrollo de un
front-end utilizando
React
Hooks ................................................................................................................................ 7
Vistas................................................................................................................................. 9
Conclusiones ................................................................................................................... 14
Referencias ..................................................................................................................... 14
Introducción
Una tienda e-commerce es un proyecto ideal para ser desarrollado utilizando la librería
ReactJS, en este caso, se decide tomar cómo inspiración la tienda mercado libre,
únicamente las vistas de lista de productos, búsqueda de productos, detalle de un
producto y formulario de compra. Además, se crea una barra de navegación con un
campo de texto cómo buscador. Por otra parte, se utilizaron tecnologías que permiten
un ágil y estructurado proyecto, cómo es el caso del super set TypeScript (TSX para la
creación de los archivos, permitiéndonos ser fuertemente tipados, proporcionando un
mejor intelliSense, sin dejar a un lado toda la funcionalidad que nos brinda JSX), SASS,
Ant Design, la metodología para construir y diseñar sistemas llamada Atomic Design,
entre otros.
Se crearon más de diez componentes de React, a su vez, se implementaron diferentes
hooks, varios propios de la librería y también un custom hook para el manejo del
formulario de compra.
La información que se visualiza en este proyecto se consume de una API pública que
ofrece mercado libre (ver referencia 1).
Cómo resultado se obtuvo un acercamiento y aprendizaje continuo acerca de cómo
organizar y planificar un proyecto de ReactJS, dejando la estructura básica
implementada para en la próxima actividad conectar rápidamente con un servicio
backend. El código del proyecto se puede visualizar en el repositorio de GitHub que se
encuentra en la referencia 2.
Componentes de React
Main.tsx: Contiene la declaración e implementación de ReactDOM, donde declara el
BrowserRouter y el componente principal App.
App.tsx: Contiene la implementación de las rutas que tiene el proyecto, haciendo uso
de la Liberia react-router-dom (/, /ítems, /items/:id, /items/:id/buy-cart).
Api/fetch.tsx: Funciones que permiten hacer las peticiones al servidor, si en un futuro
se quiere implementar alguna librería para ello, solamente se tienen que modificar las
funciones dentro de este archivo y no manipular todos los componentes que realizan
peticiones.
Components/Atoms/Breadcrumb: Componente que contiene el diseño de la migaja de
pan que se encuentra en todas las vistas de los productos del sitio. Usa el componente
breadcrumb de Ant Design. Los ítems se envían cómo propiedad para así permitir que
sea dinámico.
Aparte de esto, cabe recalcar que el buscador también genera una lista desplegable
automática que hace match con todas las búsquedas similares a las palabras que se
escriben en el campo de texto. Esta lista desplegable se obtiene gracias al componente
Autocomplete de Ant Design.
Detalle de un producto
Vista que permite visualizar la información de un producto seleccionado. Hace uso de
diferentes componentes Navbar, Breadcrumb y ProductDetail.
La imagen tiene una altura de 700px con 544px de ancho. Esta sección hace uso de flex-
box para poder separarse verticalmente con el otro componente que contiene el
nombre, precio y el botón de comprar. En la parte inferior se encuentra la descripción
del producto, con un color #666 y un tamaño de 12px.
Finalizar compra de producto
Esta vista contiene la parte final de este proyecto y es la información que el usuario tiene
que completar para que se realice su compra. Hace uso de diferentes componentes
Navbar, BuyCartForm y también una sección que muestra la información del producto.
Para mostrar la información del producto se utiliza flex-box para la dividir la información
horizontalmente, con una separación de 30px entre la imagen y el resto de información.
En el resto de la página se encuentra la información que el usuario tiene que brindar a
la plataforma para el correcto envío del producto. Esta sección hace uso de los
componentes Form, Form.Item y Input de Ant Design, cómo también el componente
Button del proyecto.
Conclusiones
Cómo conclusión, se obtuvo un acercamiento y aprendizaje continuo acerca de cómo
organizar y planificar un proyecto de ReactJS, utilizando diferentes tecnologías que lo
complementan y dejando la estructura básica implementada para en la próxima
actividad conectar rápidamente con un servicio backend. Siendo así un proyecto
enriquecedor para el conocimiento que se logra utilizar en el día a día laboral. El código
del proyecto se puede visualizar en el repositorio de GitHub que se encuentra en la
referencia 2.
Referencias