React router dom v5,点击时重定向到另一个URL

问题描述 投票:0回答:2

我正在使用

React Router Dom v5
,并且,我想从
localhost:3000/v3/cars
的 url 导航到
localhost:3000/cars
onClick。
histiry.push()
添加在当前 url 的末尾,但不会更改/覆盖它。 例如:
history.push('edit')
会将网址更改为
"localhost:3000/v3/cars/edit"
而不是
"localhost:3000/v3/edit"
我如何导航到不同的路径?

reactjs react-router-dom
2个回答
1
投票

使用 React Router DOM 5.2.1,可以使用“../”向上导航一级。

history.push({
   pathname: '../cars'
});

这将有助于导航到 /v3/cars 一级并替换为 /cars。


1
投票

React router dom v5
中你需要使用
<Redirect/>
,它可能是这样的

function Register () {
  const [toDashboard, setToDashboard] = React.useState(false)

  if (toDashboard === true) {
    return <Navigate to='/dashboard'/>
  }

  return (
    <div>
      <h1>Register</h1>
      <Form afterSubmit={() => setToDashboard(true)} />
    </div>
  )
}

查看 React router dom v5 上关于

Redirect
这里

的文档

但我还是建议使用 React router v6,使用

useNavigate
更容易,请查看文档这里

© www.soinside.com 2019 - 2024. All rights reserved.