如何关注react-router链接而不将其推送到历史记录,但保持URL更改?

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

我想在单击组件链接时更改 URL,与当前默认情况下更改的方式相同,但不会将它们推送到浏览器历史记录中。 我发现以下内容对某人有用在此答案中

this.props.activeRouteHandler({key: "anystring"})

但我不知道应该把它放在哪里,也不知道它是否还能用。有人能给我举个例子吗? 谢谢

url history react-router
3个回答
3
投票

使用

replace
Link
属性并将其设置为
true

这里是文档链接:https://reactrouter.com/web/api/Link

例如。

<Link to=[your_url] replace={true}>
  ...
</Link>

0
投票

对于版本

^0.13.3
,我必须创建与 Link 相同的自定义 MyLink 组件,但将
this.transitionTo
替换为
this.replaceWith

对于版本

^1.0.x
API 已更改:

var { History } = require('react-router')
...
mixins: [ History ]
...
this.history.pushState(null, '/newPathName')


0
投票

如果有人想使用

useNavigate
,请使用
{replace: true}
添加一个对象作为第二个参数,例如:

const navigation = useNavigate();
navigation(
    "toYour/newPath/", 
    {
        replace: true,
    });
© www.soinside.com 2019 - 2024. All rights reserved.