<Link> 更换不起作用



我正在在React中的一个完整站点上工作。我正在使用<HashRouter>渲染我的应用。在整个网站中,您会看到一个使用<Link> S将您带到不同页面的导航菜单。

我网站中的一个页面之一是商店,其URL为 /Shop

当您在商店中单击产品时,它使用<Link>将产品名称附加到当前URL -/Shop/Product的末尾 - 并呈现相应的信息。

如果您正在查看产品,并且尝试导航到另一个页面,即使使用replace={true} ,它也只能替换最后一个条目。因此,如果我目前在/Shop/Product,并且尝试导航到/Contact,则URL会更改为/Shop/Contact

我是否误解了replace应该如何工作?还是我在做事不正确?任何帮助都将不胜感激。

如果您使用类似的东西:

<Link to="Contact" />

它只会更改URL的最后一部分,因为它是相对路径,因此,如果您在/Shop/Something上,它将更改为/Shop/Contact

您可能想使用绝对路径:

<Link to="/Contact" />

-

替换vs推路是另一回事。如果您认为自己的路线历史是一个数组:

[
  '/Shop/Item',
  '/Shop/Item2'
]

push将附加到列表,replace将替换最后一个索引

相关内容

  • 没有找到相关文章

最新更新