首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><Route>内图

<Route>内图
EN

Stack Overflow用户
提问于 2019-03-16 14:04:32
回答 1查看 39关注 0票数 1

我没有找到我的问题的答案,所以我必须在这里张贴一个问题。为什么第二个映射中的<Route>组件不能工作?它获取数据,但不构建<Route>组件。来自第一张地图的<Route>可以工作。也许这是个简单的解决办法,但我找不到。

代码语言:javascript
复制
const {genres} = this.state;
return(
<React.Fragment>
<Switch>
    {!_.isUndefined(genres) &&
        genres.map(g => {
            if(_.isEmpty(g.subgenres)) return <Route path={g.link} component={Page} key={g._id}/>;
            else g.subgenres.map(sub => <Route path={sub.link} component={Page} key={sub._id}/>);
        })
    }
</Switch>
</React.Fragment>
);

数据结构示例:

代码语言:javascript
复制
genres = [
    {
        "_id":"823710",
        "name":"Rock",
        "subgenres":[
            {
                "_id":"29033",
                "name":"Heavy Metal",
                "link":"/heavy-metal"
            },
            {
                ... other data ...
            }
        ],
        "link":""
    },
    {
        ... other data ...
    }
]

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-16 14:08:24

你不能在其他分支里归还任何东西。添加return关键字,它应该会像预期的那样工作。

代码语言:javascript
复制
genres.map(g => {
  if (_.isEmpty(g.subgenres)) {
    return <Route path={g.link} component={Page} key={g._id} />;
  } else {
    return g.subgenres.map(sub => (
      <Route path={sub.link} component={Page} key={sub._id} />
    ));
  }
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55197663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档