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
。就是这样!谢谢在这件事上我绞尽脑汁了一天多。