无法访问Json中的某些属性

时间:2018-05-09 12:06:31

标签: json react-native

我运行api并获取对象的json对象。下面是该对象的屏幕截图。在本机反应中,我使用关键的“数据”从redux获取组件中的数据。 enter image description here

当我尝试在mapStateToProps组件中获取城市名称时,我收到此错误

  

TypeError:无法读取未定义的属性“name”

     

块引用

我的mapStateToProps位于下方。

const mapStateToProp = ({data}) => {
  //console.log(data);
  return {
    city: data.data.city.name 
  }
}

我收到完整的数据到城市但无法访问其名称属性为什么?

1 个答案:

答案 0 :(得分:1)

由于您从获取请求中获取数据,因此在请求之前可能不存在city属性。在mapStateToProps

中设置值时,通过检查城市是否存在来尝试防止错误
const mapStateToProp = ({data}) => {
  //console.log(data);
  return {
    city: data.data.city ? data.data.city.name : null 
  }
}

请注意,在商店中没有深层嵌套数据也是一种好习惯。