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

100
Views
React prop no se pasa al componente durante .map

Obtuve una variedad de artículos de noticias de una API que se encuentra en el estado de artículos de noticias.

Mapeo el estado y deconstruyo los datos que necesito. Luego paso los accesorios de título y descripción a la tarjeta. Luego tengo un modal que está oculto usando CSS y le paso el título y el contenido al modal.

Mi problema es que cuando abro el modal, no se muestran el título y el contenido correctos. Independientemente del artículo en el que haga clic, cuando abro el modal, solo muestra el título y el contenido del último artículo de la matriz. Debería mostrar el título y el contenido correctos de la tarjeta en la que se ha hecho clic.

¿Por qué está pasando esto? Mi código está abajo. Gracias.

 import React, { useState } from 'react'; import { useNewsContext } from '../context/news-context'; const NewsCard = () => { const { newsArticles, isLoading } = useNewsContext(); const [isModalOpen, setIsModalOpen] = useState(false); const readMore = () => { setIsModalOpen(true); }; const closeBtn = () => { setIsModalOpen(false); }; return ( <section className='news-section wrapper'> {' '} {newsArticles.map((item, index) => { const { title, description, urlToImage, content } = item; return ( <div key={index} className='news-card'> <img className='news-image' src={urlToImage} alt={title} /> <h1> {title} </h1>{' '} <p> {description} </p>{' '} <button type='button' onClick={readMore}> {' '} Read More{' '} </button>{' '} <div className={isModalOpen ? 'news-modal' : 'news-modal news-modal__hidden'}> <div className='news-modal__card'> <h1> {title} </h1> <p> {content} </p>{' '} <button type='button' onClick={closeBtn}> {' '} Close{' '} </button> </div>{' '} </div>{' '} </div> ); })}{' '} </section> ); }; export default NewsCard;
about 4 years ago · Juan Pablo Isaza
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!