我刚刚发现在 React 状态下具有多个子级的对象无法轻松呈现。
在我的示例中,我有一个通过 AJAX 与第三方 API 通信的组件:
var Component = React.createClass({
getInitialState: function () {
return {data: {}};
},
loadTrackData: function () {
api.getDataById(1566285, function (data) {
this.setState({data: data});
}.bind(this));
},
componentDidMount: function () {
this.loadTrackData();
},
render: function () {
return (
<div>
<h2>{this.state.data.metadata.title}</h2>
</div>
);
}
});
问题是{this.state.data.metadata}渲染得很好..
但{this.state.data.metadata.title}抛出错误Uncaught TypeError: Cannot read property 'title' of undefined!
处理此类异步数据的正确方法是什么?