history.push重定向会覆盖我设置为其他路径的路径

时间:2020-10-25 14:40:07

标签: reactjs redirect react-router react-router-dom connected-react-router

我有这个小部件

enter image description here

整个事情都可以单击到某个路径。我在其中放了两个按钮,然后进行编辑和删除

删除操作正常,可以执行传奇。现在编辑按钮,我希望它是一个重定向到某些URL的链接。我不能这样做,因为我无法将<a>放在<a>内。 React向我显示警告。

所以我使用了一个使用以下按钮重定向的按钮:

1。

import {Link, useHistory} from "react-router-dom";
const history = useHistory();
    <button onClick = {() => history.push(`/domain/${props.domain.id}/edit`)}>
    edit
    =</button>
  1. 因为我使用了connected-react-router,所以我也尝试过

    import {history} from '../../../redux/store'; <button onClick = {() => history.push( / domain / $ {props.domain.id} / edit )}

它们具有相同的行为: enter image description here

enter image description here

您可以使用外部域的链接'/ domain / 5f95554624aa9a0006351825'覆盖重定向。

即使我将网址更改为“ / users”之类的内容,它仍然会被覆盖。

我只想将用户重定向到简单URL。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以使用preventDefault来停止Link的默认行为。

<Link to="/xyz">
  Link
  <button
    onClick={(e) => {
      history.push(`/domain/${props.domain.id}/edit`)
      e.preventDefault()
    }}
  >
    edit
  </button>
</Link>