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

180
Vistas
Unable to populate a list in reactjs from an array

I have a list app. I want its item to populate in MenuItem. I tried the following:-

{app.map((item, index)=>{
       <MenuItem value={item}>{item}</MenuItem>
})}

but I'm getting this error:-

Expected an assignment or function call and instead saw an expression

console.log(item) shows [ "NE", "NO" ]
console.log(app) shows [ [ "" , "", "" ], [ "NE", "N)" ] ]

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

You need to return something from map, In your case you have to return MenuItem as

Live Demo

Codesandbox Demo

Below will implicitely return the MenuItem

{
  app.map((item, index) => <MenuItem value={item}>{item}</MenuItem>);
  // without { and }
}

or You can explicitly return the MenuItem

{
  app.map((item, index) => {
    console.log(item);
    return <MenuItem value={item}>{item}</MenuItem>;
  });
}

EXPLANATION

Since, you are using map here which should be used if we want to map over the array and return something from it and map will return an array of elements and what you want is to map over the app array and return MenuItem elements because whatever you will return from map will eventually become React children.

return (
        <div>
            {app.map((item, index) => {
                (
                    <MenuItem value={item} key={item}>
                        {item}
                    </MenuItem>
                );
            })}
        </div>
    );

Above code snippet gets converted to

return /*#__PURE__*/React.createElement("div", null, app.map((item, index) => {
    /*#__PURE__*/
    React.createElement(MenuItem, {     // NOTICE, you are not
      value: item,                      // returning any React
      key: item                         // Elements from here
    }, item);
  }));

So, you should return from map

about 4 years ago · Juan Pablo Isaza Denunciar

0

2 Issue

  1. console.log(item), to console.log(item); // comma to semicolon
  2. <MenuItem value={item}>{item}</MenuItem > to return <MenuItem value={item}>{item}</MenuItem> // need to return
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