react-router的路由将路由附加到当前路由,而不是仅路由到路由

时间:2016-11-24 06:48:45

标签: javascript reactjs react-router url-routing

首先,我希望您告知我正在使用react-boilerplate这个应用。所以你应该知道路由声明的方式有点dynamic。它在react-router的文档中的类似方式here

所以这就是问题,我有三个用户角色,代号为 DP PT OP 。每个都有不同的导航侧边栏,要显示的屏幕和权限等。 但是根据客户的要求,将后端和/或API放在一边,我必须首先显示我开发的每个用户角色的创建屏幕。

所以我创建了一个类似于此的路由模式:

  • /dp/dashboard
  • /dp/manage
  • /dp/info
  • /pt/dashboard
  • /pt/info/share
  • /op/dashboard
  • /op/financial

^假设这些部分导航项,正如您所看到的,某些项目可用于所有某些用户角色,有些是 ONE 用户独有的,等等。

所以在我的实现中,我创建了一个登录,我在当前用户角色的redux存储中设置了一个状态,即userRole: DP,然后在我的Home中,我生成导航项取决于userRole的状态。

这些导航项目上的项目也会传递hrefLink的{​​{1}}属性,有点像to,导致上面的类似路线。< / p>

现在的问题是,随着所有这一切,每当我尝试导航到内部子导航项时,它都可以正常工作。

href={'/'+this.state.userRole.toLowerCase()+'/some/route'}

但是,如果我点击/pt/info/share导航项,就会这样:

Financial

为什么? /pt/info/pt/financial的真正本质是什么,以及我可以实现上述路线的解决方法是什么?

PS。我还尝试删除“附加react-router”或'/'+this.state.userRole.toLowerCase()等部分,但它运行正常, 在导航项之间导航时,它不会附加到当前路线,仅/pt/financial,而不是/dashboard

0 个答案:

没有答案