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

156
Views
La asignación a React Modal representa todos los elementos de la matriz en lugar de asignarlos por su ID

Mi problema es que cuando mapeo los datos en Modal, devuelve todos los elementos de ese campo en la matriz, por ejemplo, el mapeo de Business Name devolverá todos los nombres comerciales en la matriz en lugar de 1.

También estoy usando React-Bootstrap-Table-Next en el mismo componente para representar datos. Se agrega un botón a cada fila de la tabla en el que me gustaría hacer clic y mostrar más información sobre esa fila en particular.

Botón que se representa en la tabla con el controlador onClick para abrir el modal:

 const columns = [ { dataField: "View", text: "View", formatter: () => {return <Button variant="success" onClick={handleShow}>View</Button>}, headerStyle: () => {return { width: "5%" };} }, { dataField: "BusinessName", text: "Business Name", headerStyle: () => {return { width: "27%" };} }, ];

Manejo de estado modal:

 const [showModal, setShow] = useState(false); const handleClose = () => setShow(false); const handleShow = () => setShow(true);

Código modal con función de mapa:

 <Modal show={showModal} onHide={handleClose} size="lg" centered > <Modal.Header closeButton> {submitted.map((item) => <Modal.Title key={item.Id}> {item.BusinessName}</Modal.Title> )} </Modal.Header> <Modal.Body></Modal.Body> <Modal.Footer> <Button variant="secondary" onClick={handleClose}> Close </Button> <Button variant="primary" onClick={handleClose}> Save Changes </Button> </Modal.Footer> </Modal>

Obtener y configurar los datos:

 const [submitted, setSubmitted] = useState([]); const getSubmittedData = async () => { try { const response = await Axios.get(url); setSubmitted(response.data); console.log(response.data); setLoading(true); } catch (e) { console.log(e) } };
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No está claro cuál debería ser el resultado esperado y qué contiene la matriz enviada.

Map creará una nueva matriz con todos los valores devueltos por la función dada. Si solo desea representar algunos valores, entonces tal vez necesite filtrar primero.

Si solo desea los artículos que incluyen una identificación, entonces tal vez algo como

 {submitted.filter(item => item.id).map(item => ( //render items here )}

No tengo suficiente representante para comentar y aclarar la información, así que espero que esto sea útil. Saludos

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!