0

我正在尝试从 json 中检索一些数据,以便稍后在图表中使用。

我的问题是使用useState,它让我永远不会输入数据,所以我无法访问字段。

const [myData, setData] = useState([]);

const url = 'url';

axios.get(url)
      .then(res => {
        setData(res.data);

        myData.forEach( e=> {
          console.log(e.name);
        })
      }).catch(function (error) {
        // handle error
      })

当我打印console.log时,名称会导致错误,因为“从不”类型上不存在属性“名称”。

我该如何解决这个问题?

编辑:我正在使用打字稿

4

1 回答 1

0

您应该将 useState 的类型声明为 any ,以便在访问其中的某些字段时,这些字段可能是 undefined/null ,这会误导编译器认为 myData 数组值只会是未定义的。您可以显式定义一个类型来避免这种情况

const [myData, setData] = useState<any[]>([]);
于 2020-04-28T12:01:26.393 回答