反应路由器没有呈现视图但网址正在改变

时间:2018-06-09 05:07:55

标签: reactjs react-router react-router-v4 react-router-dom react-router-component

我有两个标签:个人资料朋友 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>

但是它也没有用,问题仍然存在。任何帮助将不胜感激。

0 个答案:

没有答案