history.push 重定向覆盖我设置为不同的路径

history.push redirect overrides the the path I set to different one

我有这个小部件

整个东西都可以点击到某个路径。我在里面放了两个按钮,编辑和删除

删除工作正常,它执行一个传奇。现在编辑按钮我希望它是一个 link 重定向到某些 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)}

他们都有相同的行为:

您可以使用“/domain/5f95554624aa9a0006351825”覆盖重定向,这是外部 link.

的 link

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

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

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

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