首页 > 解决方案 > 无法访问 Json 中的某些属性

问题描述

我运行了一个 api 并获取了 object 的 json 对象。下面是该对象的屏幕截图。在本机反应中,我从带有关键“数据”的 redux 组件中获取这些数据。 在此处输入图像描述

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

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

块引用

我的 mapStateToProps 如下。

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

我正在获取城市的完整数据,但无法访问其名称属性 为什么?

标签: jsonreact-native

解决方案


由于您从获取请求中获取数据,因此 city 属性在请求之前可能不存在。尝试通过在 mapStateToProps 中设置值时检查城市是否存在来防止错误

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

请记住,在您的存储中没有深度嵌套的数据也是一个好习惯。


推荐阅读