aprendiendo React pero estoy tratando de mapear una serie de objetos en un cuadro desplegable.
Recibo un "Error de tipo no detectado: ids.map no es una función".
¿Por qué recibo este error cuando configuré los ID cargados que obtengo de la solicitud GET en los ID establecidos de useState?
https://jsfiddle.net/4jh9c6dv/53/
Gracias por ayudar a un principiante :')
function Dropdown () { const [ids, setIds] = React.useState([]); React.useEffect(() => { request.get(endpointIds).then((response) => { setIds(response.data); const loadedIds = []; for (const id in response) { loadedIds.push({ id: ids, }); } setIds(loadedIds); }); }, []); const idsList = ids.map((id) => ( <option>id</option> ));No necesita usar setIds(response.data); . Quita eso. response.data no es una matriz, response.data.ids lo es. Por eso te da el error.
EDITAR : use for of en lugar de for in .
for of se usa para iterar sobre elementos de una matriz/objeto iterable. for in se usa para iterar sobre index.
response.data debe ser response.data.id también olvidó las llaves {id}