javascript - 在 React.js 中通过索引访问对象数组

标签 javascript reactjs

我正在开发一个 react.js 项目,我需要访问一组对象。我从外部 URL 获取对象,那里没有问题。在我的 componentrender 方法中,我可以看到数组:

  const array = this.state.data.myArray;
  console.log({array});

现在我尝试查看第一个对象:

  console.log({array}[0]);

但它是未定义

我尝试了带或不带大括号的各种组合,但它总是未定义,或者给出意外标记错误。

如何获取数组的对象?

编辑:

看起来我的 render 方法被调用了两次。第一次是数组undefined,第二次是有数据,但现在它不再渲染。

这是我的组件:

import React from 'react'
class Hello extends React.Component {

    constructor() {
        super();
        this.state = { data: [] };
    }


   async componentDidMount() {
      const url = 'http://localhost:9000/SomeJson/id';
      const response = await fetch(url);
      const data = await response.json();
      this.setState({ data });
      console.log(data); // data shows up in the console
   }

  render() {
      alert(this.state.data.theArray);

  return(
      <div><h2>hello</h2></div>
   );

  }
}
export default Hello;

我在这里缺少什么?

最佳答案

const { myArray = [] } = this.state.data || {} 您应该检查 data key 是否是一个有效的对象,然后对 myArray 进行解构,如果 myArray 未定义,则用空数组初始化它。

关于javascript - 在 React.js 中通过索引访问对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59952104/

相关文章:

javascript - 使用 JqueryUI Mobile ListView 替代超链接

javascript - 如何在后台设置 BPG

javascript - React componentWillReceiveProps 不更新状态

reactjs - Aria-hidden 不会从查询中隐藏元素

javascript - 类型错误 : Cannot read property 'props' of undefined In a React function

Javascript发送 "this"对象作为参数

javascript - 在javascript中将数字数组转换为String()

javascript - i18n.changeLanguage 不是函数

javascript - React JS 哪个按钮被点击了多少次?

javascript - backbone.js ajax 调用