我有两个标签:个人资料和朋友, navlink 如下
<Navlink to={'/dashboard/profile/' + (tab.url) + '/' + userId}>{tab.name}</Navlink>
其中tab = [{ &#34; name&#34;:&#34; Profile&#34;, &#34; url&#34;:&#39;时间线&#39; }, { &#34; name&#34;:&#34; Friends&#34;, &#34; url&#34;:&#39;朋友&#39; }]
在我的render()中,我的路由定义为
<Route path="/dashboard/profile/:screenId/:userId" component={this.Routing}/>
其中 screenId 是时间轴/好友,具体取决于点击的是哪个标签
并且路由功能是
Routing =({ match })=>{
userId = match.params.userId;
switch(match.params.screenId){
case "timeline": return <Timeline/>;
case "friends": return <Friends/>
default : return <NoMatch/>;
}
}
所以问题是每当选择任何标签时,网址都会改变,但路由功能不会被触发,导致路由不起作用。基本上任何在 / dashboard / profile / 之后都无法正常工作。
我也在我的render()中尝试了这个:
<Switch>
<Route path="/dashboard/profile/timeline/userId" component={Timeline}/>
<Route path="/dashboard/profile/friends/userId" component={ContactUs}/>
</Switch>
但是它也没有用,问题仍然存在。任何帮助将不胜感激。