首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多动态路由(react-router-dom)

多动态路由(react-router-dom)
EN

Stack Overflow用户
提问于 2020-09-07 19:02:04
回答 1查看 79关注 0票数 0

我有两个不同的动态路由,为什么第二个动态路由不工作(它的返回活动组件它应该是热点),提前感谢

代码语言:javascript
复制
 <Switch>
        <Route exact path ='/' component={Home} />
        <Route path={`/:City/:CatName`} component={Activities} />
        <Route  path={`/:City/Hotspots`} component={Hotspots} />
      </Switch>

以下是链接

代码语言:javascript
复制
<li>
                    <span><Link to={`/${Order.City.replace(' ', '-')}/Hotspots`}>Hotspots</Link></span>
                </li>
                <li>
                    <span><Link to={`/${Order.City.replace(' ', '-')}/Activities`}>Activities</Link></span>
                </li>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-08 03:20:05

这是因为url City/Hotspots正在进入Activities路由。

当您使用:CatName设置活动路由时,它表明这部分URL是占位符,因此当您的URL类似于/:City/Hotspots时,其理解的热点是:CatName的占位符。

要修复它,只需更改路由的顺序,将Hotspots路由保留为第一个,如下所示:

代码语言:javascript
复制
<Route path={`/:City/Hotspots`} component={Hotspots} />
<Route path={`/:City/:CatName`} component={Activities} />

因此,现在当您输入/:City/Hotspots时,react-router-dom找到的第一个路由将是正确的,任何其他带有/:City/的路径都将转到Activities路由。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63776305

复制
相关文章

相似问题

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