我们将react-router-doms替换HashRouter为BrowserRouter并希望将旧路由重定向到新路由。我标记是nginx因为我不介意在那里进行重定向。:)
假设我们有一条旧路由/#/usersand /#/users:id:它们应该匹配并重定向到/usersand /users/:id。
到目前为止我尝试过( react-router-dom v5.0.1):
<Router>
<Switch>
<Route path='/users' component={UsersComponent} />
<Route path='/users/:id' component={UsersDashComponent} />
</Switch>
<Redirect from='/#/users' to '/users' />
<Redirect from='/#/users/:id' to='/users/:id' />
</Router>
Run Code Online (Sandbox Code Playgroud)
第一条路线匹配并重定向良好。第二个(带有id)是有问题的。当我导航到它时/#/users/123,它会重定向到/users/:id. 它将实际替换123为:id.
这是路线的两个示例。我们还有更多参数可以重定向。