我想在单击组件链接时更改 URL,与当前默认情况下更改的方式相同,但不会将它们推送到浏览器历史记录中。 我发现以下内容对某人有用在此答案中:
this.props.activeRouteHandler({key: "anystring"})
但我不知道应该把它放在哪里,也不知道它是否还能用。有人能给我举个例子吗? 谢谢
使用
replace
的 Link
属性并将其设置为 true
。
这里是文档链接:https://reactrouter.com/web/api/Link
例如。
<Link to=[your_url] replace={true}>
...
</Link>
对于版本
^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')
如果有人想使用
useNavigate
,请使用 {replace: true}
添加一个对象作为第二个参数,例如:
const navigation = useNavigate();
navigation(
"toYour/newPath/",
{
replace: true,
});