React 的 JSON 请求返回未定义
2016-04-15
3762
我尝试使用
componentDidMount
将 JSON 源加载到我的 React 组件中。当我最初提取 JSON 源时,一切都检查无误,我可以正常查看 JSON 数据。问题在于,当我尝试深入研究 JSON 数据以获取游戏信息时,我开始收到
undefined
错误。
这是我的 React JS:
var MLBScores = React.createClass({
getInitialState: function() {
return {
hometeam: '',
awayteam: ''
};
},
componentDidMount: function() {
this.serverRequest = $.get(this.props.feed, function(result) {
var scoreFeed = result;
var homeTeamName = scoreFeed.games.game[0].home_team_name;
console.log(homeTeamName);
}.bind(this));
},
componentWillUnmount: function() {
this.serverRequest.abort();
},
render: function() {
return ( < div > {
this.state.hometeam
}
vs. {
this.state.awayteam
} < /div>
);
}
});
ReactDOM.render( < MLBScores feed= "https://raw.githubusercontent.com/erwstout/pinetar/develop/src/client/app/mlb-scoreboard.json" / > ,
document.getElementById('container')
);
值得注意的是,如果我仅注释掉
var homeTeamName
行并将
console.log(homeTeamName)
更改为
console.log(result);
,它会打印 JSON 数据。
在进入 React 之前,我已经通过
codepen
充实了一些数据(和我的想法),因此我对 json 文件的结构非常熟悉。所以我想知道这是否与我在 React 中进行调用的方式有关?这是我第一次使用 React,所以我可能错过了什么。在我的 codepen 中,我获取了每个游戏的数据,但为了在 React 中测试它,我只是想获取
game[0]
信息。
我有一个 JS Fiddle 的 React 代码 。任何帮助都将不胜感激。我一直在关注 React 文档 ,但还是搞不懂。谢谢!
2个回答
返回的是字符串,而不是对象。修改它以获取您的主队名称
var scoreFeed = JSON.parse(result).data;
或者您使用 getJSON()
garajo
2016-04-15
我没有深入研究你的 JSON 响应,但三元组可能会有帮助..
var homeTeamName =
scoreFeed.games && scoreFeed.games.game[0]scoreFeed ? scoreFeed.games.game[0].home_team_name :
null
fresh5447
2016-04-15