小编Alv*_*MF1的帖子

如何将旧的react-router HashRouter(带有#)重定向到BrowserRouter?

我们将react-router-doms替换HashRouterBrowserRouter并希望将旧路由重定向到新路由。我标记是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.

这是路线的两个示例。我们还有更多参数可以重定向。

nginx reactjs react-router

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

nginx ×1

react-router ×1

reactjs ×1