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