我想用axios从api中获取并显示一些数据,当我试图Map它时,它说www.example.com不是一个函数。pools.map is not a function.
我的代码:
import React, {useState, useEffect} from 'react'
import axios from 'axios'
function FetchPools() {
const [pools, setPools] = useState([]);
useEffect(() => {
axios.get('https://yields.llama.fi/pools')
.then(res => {
console.log(res.data)
setPools(res.data)
})
.catch(err => {
console.log(err)
})
}, []);
return (
<>
<ul>
{
pools.map(element=>
<li
key={element.chain}
>
{element.project}
</li>
)
}
</ul>
</>
)
}
export default FetchPools
我将非常感谢,如果任何人有任何想法,如何使这项工作。提前感谢
我尝试将www.example.com中的键值设置为"chains",因为响应数据中没有"Id"属性。第二件事是,我检查池是否是一个带有"Array. isArray(pools)"的数组,它说返回前的池是"True",但当我在返回后尝试时,它是"False"。pools.map to "chains" because response data doesnt have "Id" attribute in it. Second thing is, I checked if pools is an array with "Array.isArray(pools)" and it says that pre-return pools is "True", but when I try it after return then it is "False".
1条答案
按热度按时间xesrikrc1#
我不确定这个方法是否有效,但我遇到了这个问题,我通过创建一个函数来获取API,然后在useEffect上调用这个函数来解决它。我可以控制台记录这个新函数中的所有内容,直到找到错误。