Javascript 如何在reactjs中创建多个路由组件

Javascript 如何在reactjs中创建多个路由组件,javascript,reactjs,react-router,react-router-dom,Javascript,Reactjs,React Router,React Router Dom,我希望有不同的仪表盘,不同的用户有不同的链接和路由。我尝试在reactjs中编写更改路由的代码,但这不起作用 我为创建routerbrowser编写了以下代码: 导出默认类应用程序扩展组件{ 陈述={ 用户类型:“std”, } showLink(){ 开关(this.state.usertype){ 案例“tcr”: 返回( ); 打破 案例“std”: 返回( ) 打破 违约: 返回( ) 打破 } } render(){ 返回( {this.showLink} ) } } si

我希望有不同的仪表盘,不同的用户有不同的链接和路由。我尝试在reactjs中编写更改路由的代码,但这不起作用

我为创建routerbrowser编写了以下代码:

导出默认类应用程序扩展组件{
陈述={
用户类型:“std”,
}
showLink(){
开关(this.state.usertype){
案例“tcr”:
返回(
);
打破
案例“std”:
返回(
)    
打破
违约:
返回(
) 
打破
}
}
render(){
返回(
{this.showLink}
)
}
}
sidenav和链接的代码:

导出默认类Sidenav扩展组件{
侧链(){
开关(this.props.usertype){
案例“tcr”:
返回(
    主页
  • 搜索
  • 消息
); 打破 案例“std”: 返回(
    主页 学生们
  • 消息
) 打破 } } render(){ 返回( {this.sideLink} ); } }
我想为每个用户创建空间组件,并将其用于Sidenav。 我如何解决这个问题

请帮帮我


谢谢。

只需为每个路由添加一个用户类型道具,并创建一个ProtectedRoute组件

1=教师

2=学生

    <Switch>
      <Route path="/"  exact>
        <MainPage container={this.state.container}/>
      </Route>
     
      <ProtectedRoute path="/students" userType={1} layout={teacherSideNav} >
        <Student container={this.state.container}/>
      </ProtectedRoute>
      <ProtectedRoute path="/payam" userType={1} layout={teacherSideNav}  >
        <MessageT container={this.state.container}/>
      </ProtectedRoute>
  
      <Route path="/payamha" userType={2} layout={studentSideNav} >
        <MessageS container={this.state.container}/>
      </Route>
    </Switch>

然后在ProtectedRoute组件中应用一个逻辑“这不起作用”——请更具体一些。什么不起作用?你想看到但不想看到的行为是什么?