javascript "未捕获的类型错误:. map不是函数",同时尝试显示提取的数据

thtygnil  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(118)

我想用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".

xesrikrc

xesrikrc1#

我不确定这个方法是否有效,但我遇到了这个问题,我通过创建一个函数来获取API,然后在useEffect上调用这个函数来解决它。我可以控制台记录这个新函数中的所有内容,直到找到错误。

相关问题