Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

176
Vistas
cómo reemplazar h2 con div en la misma página después de hacer clic con h2 (y sin usar el componente)

Soy muy nuevo en el desbordamiento de pila y esta es también mi primera publicación, por lo que no estoy seguro de si esta pregunta es lo suficientemente específica/detallada, pero...: estoy tratando de descubrir cómo reemplazar el elemento h2 'Desempaquetar la semana' con el div entre los comentarios. Por ahora, estoy tratando de evitar renderizar un nuevo componente y simplemente ocultar un div hasta que se haga clic en el elemento h2 para ver la información dentro de ese div (mi proyecto está todo en una página/una ruta). Creé una función WeekToggle adjunta a h2, pero no creo que sea la dirección correcta de lo que quiero.

 enter code here
 const weekToggle = () => { console.log('clicked'); return ( <div> <img src="" alt="" /> <h4>Monday</h4> <img src="" alt="" /> <h4>75˚/65˚</h4> </div> ) } return ( <div> <div> <img src={unpackedImg(cityConditions)} alt="" /> <div> <img src={iconImg(cityConditions)} alt="" /> <h1>{cityName}</h1> <h2>{cityTemp}</h2> <div> <div> <h3>{cityConditions}</h3> <p>Conditions</p> </div> <div> <h3>{cityWind}mph</h3> <p>Wind speed</p> </div> <div> <h3>{cityHumidity}%</h3> <p>Humidity</p> </div> </div> </div> </div> <h1>{cityName} unpacked!</h1> <div> {/* after clicking h2 element 'Unpack the Week' replace h2 with this div */} {/* ---------------------------------------------------------------------*/} <h2 onClick={weekToggle}>Unpack the Week</h2> <div> <img src="" alt="" /> <h4>Monday</h4> <img src="" alt="" /> <h4>75˚/65˚</h4> </div> {/* ---------------------------------------------------------------------*/} </div> </div> ) } Weather.propTypes = { weather: PropTypes.object }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Supongo que desea construir un elemento plegable con detalles sobre las temperaturas de toda la semana. La forma correcta de hacerlo en React es usar el gancho useState que contiene la información, ya sea que los detalles sean visibles o no. Rediseñé un poco tu componente para mostrar la idea.

 import {useState} from "react"; function CityWeather ({cityName, cityTemp, cityConditions}) { const [showDetails, setShowDetails] = useState(false); return ( <div> <h1>{cityName}</h1> <h2>{cityTemp} <span style={{cursor: 'pointer'}} onClick={() => setShowDetails(!showDetails)}> &nbsp;{ showDetails ? <>&#x25B2;</> : <>&#x25BC;</> } </span> </h2> { showDetails && <div> <div> <h4>Monday</h4> <h4>75˚/65˚</h4> </div> <div> <h4>Tuesday</h4> <h4>76˚/66˚</h4> </div> <div> <h4>Wednesday</h4> <h4>77˚/67˚</h4> </div> </div> } <div> <div> <h3>{cityConditions}</h3> <p>Conditions</p> </div> </div> </div> ) }

use este componente en su aplicación de esta manera:

 <CityWeather cityName="London" cityTemp="75˚" cityConditions="fair"/>

Siéntete libre de comentar si necesitas alguna explicación.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda