这是我的第一个 stackoverflow 问题,所以对我温柔一点
我正在制作带有反应查询和获取的 pokedex 应用程序,但我在返回我的口袋妖怪数组时遇到问题。
我正在尝试获取一个 pokeApi,它返回一个由具有另一个 url 的对象组成的结果数组。然后我尝试映射槽结果数组并获取单个口袋妖怪的 url,然后将其推送到 arr 变量。最后,我返回的是不可读的 arr。
如何正确将数据推送到地图中的arr?
我做错了什么?有解决办法吗?
const fetchData = async (key) => {
const data = await fetch(`https://pokeapi.co/api/v2/pokemon`)
.then((res) => res.json())
.then((data) => {
return data;
});
const arr = [];
data.results.map((item) => {
return fetch(item.url)
.then((res) => res.json())
.then((data) => {
arr.push(data);
});
});
return arr;
};
const { isLoading, data } = useQuery("pokemons", fetchData, {
refetchOnWindowFocus: false
});
if (isLoading) return <div>loading...</div>;
console.log(data); // cant read
return <div>Data loaded</div>;
https://codesandbox.io/s/strange-pond-wz4ws?fontsize=14&hidenavigation=1&theme=dark