这里我有一个react容器,它在一个名为strLoc:
的变量中保存一个对象(var strLoc看起来像控制台记录的那样)
对象{name:" Burj Khalifa&#34 ;, locationLat:" 25.197787",locationLong: " 55.274862"}
我想使用对象的name属性,但是当我尝试获取{strLoc.name}时,我收到一条错误消息:
未捕获的TypeError:无法读取属性' name'为null
我不明白为什么我不能仅仅使用属性值来使用它们?该问题是否与之前的对象是一个字符串有关(我解析了字符串并将结果对象保存在var strLoc中)?
这是我的代码:
class NoteOutput extends React.Component {
render() {
var strLoc = JSON.parse(this.props.location);
return(
<div>
<div>hello</div>
<div>{strLoc.name}</div>
</div>
);
}
}
function mapStateToProps(state) {
return {
location: state.selectedLocation
};
}
答案 0 :(得分:1)
可能是因为你在render()中有解析,并且在解析之前它会尝试显示字符串的.name。
试试这个:
{strLoc && <div>{strLoc.name}</div>}