Reactjs 删除react路由器中的历史记录条目
我有一个显示设置链接的左导航Reactjs 删除react路由器中的历史记录条目,reactjs,typescript,react-router,Reactjs,Typescript,React Router,我有一个显示设置链接的左导航 <Link to="/settings"> Settings </Link> 此数组中的第一个设置为子菜单上的默认选择,并向右渲染。它在子菜单中也显示为活动状态。我还使用此默认值来操作浏览器URL,这样用户就不会看到“/settings” 因此,“../settings”变成了“../settings/users” 此时,“/settings”是最后一个位置,“/settings/users”是当前位置。当您点击后退按钮时,它试图返回
<Link to="/settings">
Settings
</Link>
此数组中的第一个设置为子菜单上的默认选择,并向右渲染。它在子菜单中也显示为活动状态。我还使用此默认值来操作浏览器URL,这样用户就不会看到“/settings”
因此,“../settings”
变成了“../settings/users”
此时,
“/settings”
是最后一个位置,“/settings/users”
是当前位置。当您点击后退按钮时,它试图返回到“/settings”
,但不可避免地会根据代码再次追加“/users”
。是否可以避免在路由历史记录中添加设置,或在添加后将其删除?或者我可以采取一种不同的、更合适的方法,不涉及对历史进行黑客攻击吗?您是否尝试过历史。替换(…)
而不是历史。推送(…)
?难以置信。我感到羞愧。干杯
routes.push({
exact: true,
path: getPath("users"),
resourceKey: "Users"
}, {...
if (subMenuRoutes.length > 0) {
if (getURLPath(window.location.href, 5) === "") {
history.push(subMenuRoutes[0].path as string);
}
}