Javascript 返回未定义的React的JSON请求

Javascript 返回未定义的React的JSON请求,javascript,json,reactjs,Javascript,Json,Reactjs,我正试图使用componentDidMount将JSON提要加载到我的React组件中。当我最初提取JSON提要时,一切都检查出来了,我可以很好地看到JSON数据。当我试图深入JSON数据以获取游戏信息时,问题就出现了,我开始得到未定义的错误 以下是我的回答: var MLBScores = React.createClass({ getInitialState: function() { return { hometeam: '', awayteam: ''

我正试图使用
componentDidMount
将JSON提要加载到我的React组件中。当我最初提取JSON提要时,一切都检查出来了,我可以很好地看到JSON数据。当我试图深入JSON数据以获取游戏信息时,问题就出现了,我开始得到
未定义的
错误

以下是我的回答:

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 MLBScores=React.createClass({
getInitialState:函数(){
返回{
主队:'',
awayteam:'
};
},
componentDidMount:function(){
this.serverRequest=$.get(this.props.feed,函数(结果){
var scoreFeed=结果;
var homeTeamName=scoreFeed.games.games[0]。home\u team\u name;
console.log(homeTeamName);
}.约束(这个);
},
componentWillUnmount:function(){
这是.serverRequest.abort();
},
render:function(){
返回(
{ 这是国家队 } vs{ this.state.awayteam }
); } }); ReactDOM.render( , document.getElementById('容器') );
值得注意的是,如果我只是注释掉
var homeTeamName
行,并将
console.log(homeTeamName)
更改为
console.log(result)它打印JSON数据

在进入React之前,我已经充实了一些数据(以及我的想法),因此我非常熟悉json文件的结构。所以我想知道这是否与我打电话的反应有关?这是我第一次使用React,所以可能是我遗漏了什么。在我的codepen中,我正在获取每个游戏的数据,但为了在React中测试它,我只是尝试获取
game[0]
信息


我有一本书。任何帮助都将不胜感激。我只是跟着一点来达到这一点,但我迷路了。谢谢

返回的是字符串,而不是对象。修改此项以获取您的主队名称

var scoreFeed=JSON.parse(result).data;


或者您使用getJSON()

我没有深入讨论您的JSON响应,但是三元函数可能会有所帮助

var homeTeamName = 
scoreFeed.games && scoreFeed.games.game[0]scoreFeed ? scoreFeed.games.game[0].home_team_name : 
null