用户和用户/:ID正常工作但其他路径无法正常工作并重定向到用户/:ID页面...
setVisible
答案 0 :(得分:3)
这些路线是相同的,因为您可以拥有id = 'create'
<Route exact path="/user/:id" component={UserDetails} />
<Route exact path="/user/create" component={AddNewUser} />
所以你应该首先匹配更具体的一个,所以它在变量1之前匹配:
<Route exact path="/user/roles" component={ListRoles} />
<Route exact path="/user/role/create" component={AddNewRole} />
<Route exact path="/user/roles/:id" component={RoleDetails} />
<Route exact path="/user/create" component={AddNewUser} />
<Route exact path="/user/:id" component={UserDetails} />
答案 1 :(得分:2)
由于:id
可以是任何内容,因此您需要在任何静态/user/whatever
路由之后将其放置。
答案 2 :(得分:1)
将您的开关更改为
<Switch>
<Route exact path="/" component={Home} />
<Route exact path="/login" component={Login} />
<Route exact path="/user" component={ListUsers}/>
<Route exact path="/user/create" component={AddNewUser} />
<Route exact path="/user/roles" component={ListRoles} />
<Route exact path="/user/role/create" component={AddNewRole} />
<Route exact path="/user/roles/:id" component={RoleDetails} />
<Route exact path="/user/:id" component={UserDetails} />
</Switch>
在您的交换机中,:id
路由在测试create
和roles
路由之前是匹配的。