Estoy tratando de devolver p en un div de una matriz que proviene de un gancho useState, pero me da este error: Error de tipo no detectado: no se pueden leer las propiedades de undefined (leyendo 'elementos')
function App(){ const [items, setLab] = useState(["a", "b", "c"]) console.log(items) return ( <div> laberinto {this.items.bind(this).map((item) => { <div> <p>{item}</p> </div> }) } </div> ) } render( <App/>, document.getElementById('app'), );El componente de su App es un componente funcional (no un componente de clase ), por lo que no necesita usar this palabra clave.
{items.map((item) => { <div> <p>{item}</p> </div> }) }Más detalles sobre los componentes funcionales y de clase aquí: https://reactjs.org/docs/components-and-props.html#function-and-class-components
this simplemente no está definido en los componentes de la función React.Array.prototype.map debe devolver un valor al que se está asignando.this referencias..map . No olvides incluir las teclas React.Declaración de devolución explícita en el cuerpo de la función:
function App() { const [items, setLab] = useState(["a", "b", "c"]); return ( <div> laberinto {items.map((item) => { return ( <div key={item}> <p>{item}</p> </div> ); })} </div> ); }Retorno implícito sin un cuerpo de función:
function App() { const [items, setLab] = useState(["a", "b", "c"]); return ( <div> laberinto {items.map((item) => ( <div key={item}> <p>{item}</p> </div> ))} </div> ); }