我运行api并获取对象的json对象。下面是该对象的屏幕截图。在本机反应中,我使用关键的“数据”从redux获取组件中的数据。
当我尝试在mapStateToProps组件中获取城市名称时,我收到此错误
TypeError:无法读取未定义的属性“name”
块引用
我的mapStateToProps位于下方。
const mapStateToProp = ({data}) => {
//console.log(data);
return {
city: data.data.city.name
}
}
我收到完整的数据到城市但无法访问其名称属性为什么?
答案 0 :(得分:1)
由于您从获取请求中获取数据,因此在请求之前可能不存在city属性。在mapStateToProps
中设置值时,通过检查城市是否存在来尝试防止错误const mapStateToProp = ({data}) => {
//console.log(data);
return {
city: data.data.city ? data.data.city.name : null
}
}
请注意,在商店中没有深层嵌套数据也是一种好习惯。