Implementación de Carrito de Compras en JavaScript y CSS
Clase 47 de 57 • Curso de Next.js 14
Resumen
¿Cómo implementar un carrito de compras con un botón de compra rápido?
La implementación de un carrito de compras es una funcionalidad central en cualquier tienda online. Nuestros usuarios esperan una experiencia ágil y versátil, donde puedan navegar, seleccionar y adquirir productos de forma sencilla. Aquí te guiaremos para implementar un carrito básico que incluirá ítems y un botón de conversión o "comprar", optimizando el diseño mediante CSS para una mejor presentación.
¿Cómo se lista y se estiliza la visualización de ítems?
Comenzaremos por construir el contenedor que alojará los ítems del carrito. Estos ítems serán extraídos de un array y cada uno tendrá un título que se mostrará a los usuarios. El reto es garantizar una experiencia visual clara mediante estilos bien definidos.
<div>
{cart.map((item) => (
<div key={item.id}>{item.title}</div>
))}
</div>
Para mejorar la presentación, es esencial aplicar estilos CSS que destaquen de manera elegante.
.items {
position: relative;
background: var(--primary-color);
border: 1px solid var(--border-color);
border-radius: 8px;
min-width: 250px;
max-width: 320px;
padding: 1rem;
}
¿Cómo controlar la visibilidad del carrito con estado?
Para manejar la visibilidad del carrito de compras, introduciremos un estado controlado. Usaremos el useState
de React para ello, permitiendo que el usuario abra o cierre el carrito con un botón.
const [isOpen, setIsOpen] = useState(false);
const handleOpen = () => setIsOpen(!isOpen);
<button onClick={handleOpen}>Mostrar Carrito</button>
Este botón al presionarse alternará entre mostrar u ocultar el carrito, mejorando la interacción del usuario.
¿Cómo se agrega la cantidad y un botón de compra?
A medida que los usuarios agregan ítems al carrito, es crucial para ellos visualizar la cantidad de lo añadido. Daremos también un paso adelante añadiendo un botón de compra.
<div>
{cart.map((item) => (
<div key={item.id}>
<span>{item.title}</span>
<span>Cantidad: {item.quantity}</span>
</div>
))}
<button className="buy-button">Comprar</button>
</div>
Para finalizar, estilizamos el botón "Comprar" para que sea visualmente atractivo y fácil de usar.
.buy-button {
background-color: var(--main-contrast-color);
color: var(--text-color);
width: 100%;
padding: 1rem;
border-radius: 8px;
border: none;
cursor: pointer;
font-weight: bold;
}
Estos pasos te permitirán tener un carrito funcional y visualmente cohesivo, mejorando la experiencia de compra para tus usuarios. ¡Sigue practicando y mejorando tu implementación para mantener a tus clientes satisfechos y comprometidos!