Node.js 映射不返回值的数组
我有一个数组,我正试图从中映射值,但它没有返回我继续我的项目所需的内容 所讨论的代码块是:Node.js 映射不返回值的数组,node.js,reactjs,redux,react-redux,Node.js,Reactjs,Redux,React Redux,我有一个数组,我正试图从中映射值,但它没有返回我继续我的项目所需的内容 所讨论的代码块是: <select className={"clubsList"} defaultValue={"allClubs"} onChange={this.handleClubChange}> <option key={"allClubs"} value={"allClubs"}>All Clubs</option> {LEAGUE_IDS
<select
className={"clubsList"}
defaultValue={"allClubs"}
onChange={this.handleClubChange}>
<option key={"allClubs"} value={"allClubs"}>All Clubs</option>
{LEAGUE_IDS_NAMES.forEach(league => {
if (league.id == this.props.fantasyLeagueId) {
league.clubs.map(club => {
console.log('club:', club.name);
return <option key={club.name} value={club.name}>{club.name}</option>;
});
}
})}
</select>
我使用React/Redux将一个联盟id保持在状态,然后使用该id与数组中的每个联盟对象进行比较,检查每个联盟对象的id。如果匹配,它应该给我返回语句。我知道我正在正确访问俱乐部名称,因为console.log正确地为我提供了该州联赛id的俱乐部名称。它没有做的是给我全部的
部分
为了进行实验,我在league.clubs.name
行前面抛出了一个返回
,但仍然没有任何结果。我唯一看到的是“所有俱乐部”
有什么想法吗?问题是你不能从中得到任何东西 考虑到它只有来自特定联赛的俱乐部,你可以过滤联赛,然后映射俱乐部
const league = LEAGUE_IDS_NAMES.find(l => l.id === this.props.fantasyLeagueId);
return league && league.clubs.map(l => <option key={c.name} value={c.name}>{c.name}</option>)
const-league=league\u-id\u-NAMES.find(l=>l.id==this.props.fantasyLeagueId);
return league&&league.clubs.map(l=>{c.name})
由于您遵循的是Redux模式,因此可以将筛选移到选择器中。问题是您无法从中产生任何结果 考虑到它只有来自特定联赛的俱乐部,你可以过滤联赛,然后映射俱乐部
const league = LEAGUE_IDS_NAMES.find(l => l.id === this.props.fantasyLeagueId);
return league && league.clubs.map(l => <option key={c.name} value={c.name}>{c.name}</option>)
const-league=league\u-id\u-NAMES.find(l=>l.id==this.props.fantasyLeagueId);
return league&&league.clubs.map(l=>{c.name})
由于您遵循的是Redux模式,您可以将筛选移到选择器中。不错的答案,但我认为您的
find
应该是filter
@Kevin nah故意find
,因为这是一个特定的联盟,而不是联盟列表,只是在更新之后误用了map
。就是这样!谢谢我为此绞尽脑汁了一天多。不错的答案,但我认为你的find
应该是一个filter
@Kevin nah故意find
,因为这是一个特定的联赛,而不是联赛列表,只是在更新后误用了map
。就是这样!谢谢在这件事上我绞尽脑汁了一天多。