【问题标题】:Error when trying to access an object inside an array with React尝试使用 React 访问数组内的对象时出错
【发布时间】:2018-05-05 18:39:07
【问题描述】:

我正在尝试访问索引为 0 的对象的数组上的属性,我正在尝试以下操作:object[0].main 但控制台向我抛出了一个错误。

我在 codepen 上使用 React,所以它不能很好地向我显示错误,我想访问该属性以便能够将它放在另一个我将作为道具传递的对象上(因为我坚持我的状态)。这是我的代码:https://codepen.io/manAbl/pen/aGymRg?editors=0011 查找第 56 行。 这让我很紧张。 提前致谢

【问题讨论】:

    标签: javascript arrays json reactjs fetch


    【解决方案1】:

    发生这种情况是因为尚未从服务器加载数据,因此对象最初将是您将其设置为 {}

    所以你可以解决这个问题

    而不是

    description: this.state.weather.weather[0].main,
    

    description: this.state.weather.weather && this.state.weather.weather[0].main,
    

    您的想法是将初始状态设置为:{} 对吗?并且 render 在 ajax 实际完成之前调用,因为它是异步的。

    所以在第一次渲染时它将是“{}”并且你正在对它执行 [0].main。这会崩溃。

    【讨论】:

    • 你能解释一下这段代码是如何工作的吗?喜欢用伪代码或用你自己的话
    • 更新答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多