首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.map(),未定义的函数不是中的一个函数。

.map(),未定义的函数不是中的一个函数。
EN

Stack Overflow用户
提问于 2017-05-25 12:45:00
回答 1查看 9.3K关注 0票数 3

因此,我调用一个API并将其用于setState。

我的状态:

代码语言:javascript
复制
  state = {
   candlesticks: []
};

我的API调用和承诺函数:

代码语言:javascript
复制
componentDidMount() {
    axios
      .get(
    "apiurl"
      )
      .then(data => {
        let mappedData = data.map((record) => {record.date *= 1000}); //getting the error here with the map()function
        this.setState({
          candlesticks: mappedData
        });
      });
  }

我尝试过不同的代码变体,但仍然会出现这个错误。我在用世博框架。

未定义的函数不是一个函数(计算‘data.map(函数(记录){record.date *= 1000})')

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-25 13:26:14

Axios返回一个响应对象。在响应中,您使用数据具有一个数据属性。

所以你需要做的是:

代码语言:javascript
复制
componentDidMount() {
    axios.get("apiurl")
    .then(response => {
        let mappedData = response.data.map((record) => {record.date *= 1000}); //getting the error here with the map()function
        this.setState({
            candlesticks: mappedData
        });
    });
}

编辑

axios似乎不可能出现问题,但是为了排除它,尝试使用内置的获取模块,看看数据是否仍然为空。

代码语言:javascript
复制
componentDidMount() {
    fetch("apiurl")
    .then(response => {
        return response.json();
     })
    .then(data => {
        let mappedData = data.map((record) => {record.date *= 1000});
        this.setState({
            candlesticks: mappedData
        });
    });
}

如果它是空的,那么问题就在您的服务器中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44180948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档