Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

244
Visualizações
ReactJS, can't pass props to modal window

I'm trying to render a modal window when a user clicks on a product to find out more details. I created a modal component that is hidden by default, and clicking on the product triggers a function that makes the modal visible and gives it the props of name, price of the product etc. However, I only get an empty modal.

Container:

const Product = ({ imgUrl, nameUrl, priceUrl, id }) => {
  const [title, setTitle] = useState("");
  const [productId, setProductId] = useState("");
  const [price, setPrice] = useState("");
  const [img, setImg] = useState("");
  const [modalClassName, setModalClassName] = useState("hidden");

  const renderModalProduct = () => {
    setTitle(nameUrl);
    setPrice(priceUrl);
    setImg(imgUrl);
    setModalClassName("visible");
  };

  return (
    <div className="product">
      <div className="img-container">
        <img src={imgUrl} alt="product image" onClick={renderModalProduct} />
      </div>
      <div className="product-description">
        <p>{nameUrl}</p>
        <p>€ {priceUrl}</p>
      </div>
      <div className="button-container">
        <AddShoppingCartIcon className="btn" data-tip="Add to cart" />
        <FavoriteBorderIcon className="btn" data-tip="Add to Favorites" />
        {/* <ZoomInIcon className="btn" /> */}
      </div>
      <ReactTooltip type="light" border="true" borderColor="grey" />
      <ModalProduct
        imgUrl={imgUrl}
        nameUrl={nameUrl}
        priceUrl={priceUrl}
        id={id}
        modalClassName={modalClassName}
      />
    </div>
  );
};

Modal Component:

const ModalProduct = ({ title, productId, price, img, modalClassName }) => {
  return (
    <div className={`${modalClassName} modal-product`}>
      <p>{title}</p>
      <img src={img} alt="" />
      <p>{price}</p>
    </div>
  );
};

Any ideas? Thank you!

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda