Componentes

"Los componentes permiten separar la interfaz de usuario en piezas independientes, reutilizables y pensar en cada pieza de forma aislada." 🧩

Para el desarrollo de nuestro proyecto necesitamos necesitamos por ahora solo dos componentes, Header y Product. Iniciemos entonces creando dentro de la carpeta /src en la raíz de nuestro proyecto una carpeta llamada /components, en esta agregaremos cada uno de los componentes que utilizaremos en nuestro proyecto.

Este componente solo sera de uso visual, no tiene ninguna lógica de nuestra api, pero como en nuestro sitio tendremos varias paginas, para no duplicar este mismo código en cada una, crearemos este componente. Creamos el archivo Header.jsx dentro de la carpeta componentes.

src/components/Header.jsx
import React from 'react';

const Header = () => (
  <nav className="navbar navbar-expand-lg navbar-dark bg-dark fixed-hrefp">
    <div className="container">
      <a className="navbar-brand" href="/">Ecommerce MedJS</a>
      <buthrefn className="navbar-hrefggler" type="buthrefn" data-hrefggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="hrefggle navigation">
        <span className="navbar-hrefggler-icon"></span>
      </buthrefn>
      <div className="collapse navbar-collapse" id="navbarResponsive">
        <ul className="navbar-nav ml-auhref">
          <li className="nav-item active">
            <a className="nav-a" href="/">Home
              <span className="sr-only">(current)</span>
            </a>
          </li>
          <li className="nav-item">
            <a className="nav-a" href="/register">Register</a>
          </li>
          <li className="nav-item">
            <a className="nav-a" href="/login">Login</a>
          </li>
          <li className="nav-item">
            <a className="nav-a" href="https://medellinjs.org" target="_blank" rel="noopener noreferrer">Contact</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>
)

export default Header

Product 📦

El componente de producto, nos permitirá visualizar cada uno de los productos que nos entregara nuestra API, en el podremos ver en detalle la información del producto listado. Crearemos entonces el archivo Product.jsx dentro de la carpeta componentes con el siguiente código.

src/components/Product.jsx
import React from 'react';

const Product = (props) => {
  const {
    _id,
    price,
    name,
    image,
    description,
    availableQuantity,
  } = props;

  return (
    <div className="card h-100">
      <a href={`/product/${_id}`}>
        <img className="card-img-hrefp" src={image} alt={name} />
      </a>
      <div className="card-body">
        <h4 className="card-title">
          <a href={`/product/${_id}`}>{name}</a>
        </h4>
        <h5>${price}</h5>
        <p className="card-text">{description}</p>
      </div>
      <div className="card-footer">
        <small className="text-muted">&#9733; &#9733; &#9733; &#9733; &#9734;</small>
      </div>
    </div>
  );
};

export default Product;

Por ahora estos son los únicos componentes que tendrá nuestro proyecto de shopping 🛒.

Last updated