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

157
Views
Cómo obtener valor del objeto en reaccionar

Tengo una lista de objetos de datos como

datos:

 [ { "postId": 1, "id": 1, "name": "id labore ex et quam laborum", "email": "Eliseo@gardner.biz", "body": "laudantium enim quasi est quidem magnam voluptate ipsam eos\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium" }, { "postId": 1, "id": 2, "name": "quo vero reiciendis velit similique earum", "email": "Jayne_Kuhic@sydney.com", "body": "est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et" } ]

Quiero obtener el valor del nombre de los datos.

código:

 return( <Fragment> {Object.keys(cardData).map((keys)=>{ <li>{cardData[keys].name}</li> })} </Fragment> )

pero no obtengo ningún dato a cambio. Cuando uso map para iterarlo. Un error me muestra que cardData.map is not a function . por favor ayúdame a resolver el problema

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Un par de problemas:

  1. Debe agregar explícitamente una declaración de return en la función de devolución de llamada del método map()

     return <li>{cardData[keys].name}</li>
  2. cardData parece ser una matriz. Si ese es el caso, entonces no es necesario usar Object.keys(...) . Llame al método map() directamente en la matriz

     {cardData.map((obj) => { return <li>{obj.name}</li> })}

    La opción alternativa es eliminar los corchetes. Esto le permitirá eliminar la palabra clave de return y el li se devolverá implícitamente

     {cardData.map((obj) => <li>{obj.name}</li>)}

Nota: no olvides agregar la key en el elemento li :

 {cardData.map((obj) => ( <li key={obj.id}>{obj.name}</li> ))}

Editar

Si cardData no es una matriz y es solo un objeto de la siguiente forma:

 { "postId": 1, "id": 1, "name": "id labore ex et quam laborum", ... }

luego usa el siguiente código:

 {Object.keys(cardData).map(key => { return <li>{cardData[key].name}</li> })}

O utilice el retorno implícito eliminando las llaves:

 {Object.keys(cardData).map(key => ( <li>{cardData[key].name}</li> ))}
about 4 years ago · Juan Pablo Isaza Report

0

Tienes que return explícitamente los valores del map .

Dado que cardData ya es una matriz, puede usar el mapa directamente en las matrices, no es necesario tomar las claves y luego procesarlas para obtener el name .

CODIGOS Y CAJA

 <> <ul> {cardData.map((o) => { return <li key={o.id}>{o.name}</li>; })} </ul> </>
about 4 years ago · Juan Pablo Isaza Report

0

Funciona de maravilla !

 export default function App() { var cardData = [ { "postId": 1, "id": 1, "name": "id labore ex et quam laborum", "email": "Eliseo@gardner.biz", "body": "laudantium enim quasi est quidem magnam voluptate ipsam eos\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium" }, { "postId": 1, "id": 2, "name": "quo vero reiciendis velit similique earum", "email": "Jayne_Kuhic@sydney.com", "body": "est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et" } ]; return ( <div className="App"> {Object.keys(cardData).map((keys)=> {return <li>{cardData[keys].name}</li>})} </div> ); }
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!