我有一个json文件,它是一个存储另一个包含我想要的另一个数组的字段的数组。我有一个ajax请求,将pitching
字段存储到状态数组pitchers
我有两个按钮,单击时将传递一个等于json文件中team_flag
属性的值。
<button className="btn" onClick={this.handleClick.bind(this, 'home')}>{homeTeamName}</button>
<button className="btn" onClick={this.handleClick.bind(this, 'away')}>{awayTeamName}</button>
方法:
handleClick: function(teamFlag) {
// setState of pitchers to whichever team is clicked (home, away)
// this.setState({ pitchers: this.state.pitchers.teamFlag})???
console.log(teamFlag);
}
如何设置pitchers
状态,以便它将采用与所点击的pitcher
对应的team_flag
数组? (即如果我点击homeTeam,它将存储pitcher
下面的"team_flag": "home"
数组。下面是json文件
"pitching":[
{
"pitcher":[
{"name": "Billy", "hand": "right"}
],
"team_flag":"away",
},
{
"pitcher":[
{"name": "Joe", "hand": "right"}
],
"team_flag":"home",
}
],
答案 0 :(得分:0)
假设您在names(matriz) <- gsub(strsplit(names(matriz), "_"),
paste0(substr(names(matriz)[[1]], 1, 3), names(matriz)))
键下的状态中拥有整个“投球”数组,您可以这样:
pitching
如果仅用于演示目的,我不会将结果保存在状态中,而是保存teamFlag并在render方法中调用提到的代码。
React很聪明,知道如果teamFlag或投球阵列发生变化,那么它需要重新渲染。
编辑:
var pitchers = this.state.pitching.find(function(team) {
return team.team_flag === teamFlag;
});
this.setState({ pitchers: pitchers.pitcher });