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

258
Visualizações
Div aparece y desaparece al hacer clic en React JS

Quiero mostrar el contenido de las tarjetas (marcadas en rojo y con el nombre product.description en el código) al hacer clic, pero no sé cómo hacerlo.

El contenido de la tarjeta se obtiene del servidor JSON.

Aquí hay un código

El primer js se usa para obtener los datos del servidor y mostrarlos en la página y el segundo es el método para mostrar los datos en la página. En general, quiero que la etiqueta p aparezca y desaparezca cuando el usuario haga clic en el div principal denominado Product-Preview

 import { useEffect, useState } from "react"; import ProductList from "./ProductList"; const Products = () => { const [products, setProducts] = useState (null); useEffect (() => { fetch('http://localhost:8000/products') .then(res => { return res.json(); }) .then(data => { setProducts(data); }) }, []); return ( <div className="ProductList"> {products && <ProductList products={products}/>} </div> ); } export default Products;
 const ProductList = (props) => { const products = props.products; return ( <div className="ProductList" > {products.map((product) => ( <div className="Product-Preview" key={product.id}> <div className="backdrop" style={{backgroundImage: `url(${product.image})`}}></div> <h2>{ product.title }</h2> <p>{ product.description }</p> <div>{ product.price }</div><br /> </div> ))} </div> ); } export default ProductList;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Debe crear un componente y usar un estado en este componente para hacerlo.

El componente de ejemplo tiene un nombre es Card

 const Card= ({ product }) => { const [showDescription, setShowDescription] = useState(false); return ( <div className="Product-Preview" onClick={() => setShowDescription(!showDescription)} > <div className="backdrop" style={{ backgroundImage: `url(${product.image})` }}></div> <h2>{product.title}</h2> {showDescription && <p>{product.description}</p>} <div>{product.price}</div> <br /> </div> ); };

Y usa este componente dentro del mapa.

 { products.map((product) => <Card product={product} key={product.id} />); }
about 4 years ago · Juan Pablo Isaza Relatório
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