Tengo una API de formato de objeto como esta:
{ success: 1, result:[ {}, {}, {}, {} ] }¿Cómo puedo nombrar un mapa en el parámetro de resultado de este objeto? :/
Intento 2 formas de hacerlo: 1- definir api a una variable como x: const [x, setX] = useState([]) ; luego defina el resultado de api a otra variable como: const y = x.result ; y luego hacer un mapa en Y .
2- definir api a una variable como x: const [x, setX] = useState([]) ; luego conviértalo en una matriz con este método: const y = Object.entries(x) ; y obtenga el "resultado" de esta matriz de esta manera: const result = y[1] ; y hacer un mapa en resultado.
pero después de cada 2 formas veo este error en la consola: :(
TypeError: no se pueden leer las propiedades de undefined (leyendo 'mapa')
Descubrí que usas useEffect un poco incorrectamente. No necesita devolver el resultado en la función useEffect. En su lugar, debe pasarse a la función setState como argumento:
useEffect(async () => { const players = await getPlayers(); setPlayers(players); }, []);como la operación de obtención de datos de su reproductor es asíncrona, puede usar la representación condicional en el componente:
{result ? result.map(player => <Player key={player.player_key} data={player} />) : loading...} para asegurar que el result no será undefined en el momento del montaje del componente.