Estoy tratando de usar forEach para representar mis componentes.
{myArray.forEach((value, index) => { <MyComponent {...value} /> })}esto no hace nada. pero si lo hago
{myArray.forEach((value, index) => { console.log(index, value) })} //also tried with... {myArray.forEach((index) => { <MyComponent {...myArray[index]} />; })} Veo el elemento en la consola. ¿porqué es eso? Leí que forEach devuelve indefinido y debería usar el map para iterar, pero ¿por qué muestra el objeto en la consola pero no muestra mi componente? gracias
Foreach no devuelve nada. Pero para representar cualquier componente dentro de jsx , debe devolver una matriz de JSX.Elements o HTMLElements . Intenta usar map en lugar de forEach .
{array.map((value, index) => { return <MyComponent {...value} /> })}Lo primero para Cada función no devuelve un valor, sino que solo ejecuta el código que está dentro de ella, por lo tanto, verá console.logs.
En React, es una buena práctica usar la función de map .
Así que en lugar de hacer esto
{array.forEach((value, index) => { <MyComponent {...value} /> })}Hacer esto
{array.map((value, index) => { return <MyComponent {...value} /> })}