返回数组迭代

这_

我有以下组件,我在其中插入了一些JSON,并尝试使用来获取一些嵌套信息{ this.state.data.items[0]},但是出现了错误:Uncaught TypeError: Cannot read property '0' of undefined,尽管,{this.state.data}并且也{this.state.data.items}可以正常工作

这是完整的代码:

var Box = React.createClass({
      getInitialState: function () {
    return {data: []};
  },
  loadStuffFromServer: function() {
    $.ajax({
      url: this.props.url,
      dataType: 'json',
      cache: false,
      success: function(data) {
        this.setState({data: data});
        console.log(data);
      }.bind(this),
      error: function(xhr, status, err) {
        console.error(this.props.url, status, err.toString());
      }.bind(this)
    });
  },
  componentDidMount: function() {
    this.loadStuffFromServer();
    setInterval(this.loadStuffFromServer, this.props.pollInterval);
  },
  render: function() {
    return (
      <div>
        { this.state.data.items[0]}
      </div>
    );
  }
});
Oleksandr T.

getInitialState应该看起来像这样

getInitialState: function () {
    return { 
       data: {
          items: []
       } 
    };
},

因为render之前的调用componentDidMount,您正在尝试从中获取属性itemsstate.data但该属性不存在

this.state.data       // => returns empty Array

那么你正在尝试获得财产 items

this.state.data.items // => returns undefined

因为data没有财产items

然后您尝试从中获取第一个元素,items Array但返回了先前的语句undefined,这就是为什么要获取Error,因为您无法从undefined值中获取属性

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

迭代返回的python返回数组

来自分类Dev

PHP迭代从函数返回的数组

来自分类Dev

Bash:数组迭代和检查不返回

来自分类Dev

在JavaScript中由异步函数返回时,数组不可迭代

来自分类Dev

包装在Option中的数组的返回迭代器

来自分类Dev

在迭代和执行PCA之后如何正确返回数组

来自分类Dev

在JavaScript中由异步函数返回时,数组不可迭代

来自分类Dev

迭代两个数组并执行AND / OR比较=返回true

来自分类Dev

jQuery映射数组在迭代器中返回NaN

来自分类Dev

为什么“ Object.keys / values / entries”返回数组,而“ Array ...”返回迭代器

来自分类Dev

RxJS Observable返回数组,每次数组迭代都运行另一个函数

来自分类Dev

RxJS Observable返回数组,每次数组迭代都运行另一个函数

来自分类Dev

迭代对象的JS数组并返回匹配的对象以及将其从原始数组中删除吗?

来自分类Dev

如何在返回函数内迭代数组数组 - reactjs

来自分类Dev

迭代 2 个对象数组并返回单个对象数组的有效方法是什么?

来自分类Dev

将方法返回迭代器到C数组的方法的正确类型声明

来自分类Dev

如何清理节点中的对象数组?手动迭代返回“对象对象”

来自分类Dev

遍历数组以尝试页面上的多个选项,并在每次迭代时返回该初始页面

来自分类Dev

为什么Javascript中新的“ matchAll”返回一个迭代器(相对于数组)?

来自分类Dev

如何通过REST服务返回的JavaScript中的JSON数组进行迭代?

来自分类Dev

在JavaScript中对数字数组进行迭代会返回字符串

来自分类Dev

如何清理节点中的对象数组?手动迭代返回“对象对象”

来自分类Dev

JavaScript array.forEach(())-在新数组中迭代,更改和返回新数字

来自分类Dev

迭代二维布尔数组并返回基于真/假的递增值

来自分类Dev

如果不使用迭代器,数组的一个元素不为空,则返回 false - Typescript

来自分类Dev

从then返回迭代器

来自分类Dev

循环返回以进行迭代

来自分类Dev

从指针返回迭代器

来自分类Dev

数组作为可迭代的数组

Related 相关文章

  1. 1

    迭代返回的python返回数组

  2. 2

    PHP迭代从函数返回的数组

  3. 3

    Bash:数组迭代和检查不返回

  4. 4

    在JavaScript中由异步函数返回时,数组不可迭代

  5. 5

    包装在Option中的数组的返回迭代器

  6. 6

    在迭代和执行PCA之后如何正确返回数组

  7. 7

    在JavaScript中由异步函数返回时,数组不可迭代

  8. 8

    迭代两个数组并执行AND / OR比较=返回true

  9. 9

    jQuery映射数组在迭代器中返回NaN

  10. 10

    为什么“ Object.keys / values / entries”返回数组,而“ Array ...”返回迭代器

  11. 11

    RxJS Observable返回数组,每次数组迭代都运行另一个函数

  12. 12

    RxJS Observable返回数组,每次数组迭代都运行另一个函数

  13. 13

    迭代对象的JS数组并返回匹配的对象以及将其从原始数组中删除吗?

  14. 14

    如何在返回函数内迭代数组数组 - reactjs

  15. 15

    迭代 2 个对象数组并返回单个对象数组的有效方法是什么?

  16. 16

    将方法返回迭代器到C数组的方法的正确类型声明

  17. 17

    如何清理节点中的对象数组?手动迭代返回“对象对象”

  18. 18

    遍历数组以尝试页面上的多个选项,并在每次迭代时返回该初始页面

  19. 19

    为什么Javascript中新的“ matchAll”返回一个迭代器(相对于数组)?

  20. 20

    如何通过REST服务返回的JavaScript中的JSON数组进行迭代?

  21. 21

    在JavaScript中对数字数组进行迭代会返回字符串

  22. 22

    如何清理节点中的对象数组?手动迭代返回“对象对象”

  23. 23

    JavaScript array.forEach(())-在新数组中迭代,更改和返回新数字

  24. 24

    迭代二维布尔数组并返回基于真/假的递增值

  25. 25

    如果不使用迭代器,数组的一个元素不为空,则返回 false - Typescript

  26. 26

    从then返回迭代器

  27. 27

    循环返回以进行迭代

  28. 28

    从指针返回迭代器

  29. 29

    数组作为可迭代的数组

热门标签

归档