Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

173
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!