Reactjs <;链接>;更换不工作的部件

Reactjs <;链接>;更换不工作的部件,reactjs,react-router,react-router-dom,Reactjs,React Router,React Router Dom,我在React的一个完整站点上工作。我正在使用渲染我的应用程序。在整个站点中,您将看到一个导航菜单,它使用s将您带到不同的页面 我网站中的一个页面是一个商店,其URL是/shop 单击商店中的产品时,它使用将产品名称附加到当前URL的末尾-/shop/product,并呈现相应的信息 如果您正在查看一个产品,并尝试导航到另一个页面,它只会替换最后一个条目,即使是replace={true}。因此,如果我当前在/Shop/Product并尝试导航到/Contact,则URL将更改为/Shop/Co

我在React的一个完整站点上工作。我正在使用
渲染我的应用程序。在整个站点中,您将看到一个导航菜单,它使用
s将您带到不同的页面

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

单击商店中的产品时,它使用
将产品名称附加到当前URL的末尾-
/shop/product
,并呈现相应的信息

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


我是否误解了
replace
的工作原理?还是我做错了什么?任何帮助都将不胜感激。

如果您使用以下内容:

<Link to="Contact" />
--

替换与推送路线是另一回事。如果将路由历史视为一个数组:

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

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

React路由器的
具有“to”属性,您是否将其用于导航?因为它采用的是绝对路径而不是相对路径,所以它应该替换整个URL。你可以添加一些代码来显示路由器和你的链接吗?谢谢!谢谢你提供的信息,我对路由器和路由的反应还是很新的。谢谢你的帮助,没有这个,我的URL将链接附加到了上面,而不是替换它。
[
  '/Shop/Item',
  '/Shop/Item2'
]