Gag*_*Boy 5 reactjs react-router react-router-dom
我正在 React 中开发一个完整的网站。我正在使用<HashRouter>来渲染我的应用程序。在整个网站中,您将看到一个导航菜单,它使用<Link>s 将您带到不同的页面。
我网站中的一个页面是一家商店,其 URL 为/Shop。
当您点击商店中的产品时,它会将<Link>产品名称附加到当前 URL 的末尾 - /Shop/Product- 并呈现相应的信息。
如果您正在查看某个产品并尝试导航到其他页面,它只会替换最后一个条目,即使使用replace={true}. 因此,如果我当前位于/Shop/Product并尝试导航到/Contact,则 URL 会更改为/Shop/Contact。
我是否误解了replace应该如何工作?或者我做错了什么?任何帮助将不胜感激。
如果你使用这样的东西:
<Link to="Contact" />
Run Code Online (Sandbox Code Playgroud)
它只会更改 URL 的最后一部分,因为它是相对路径,因此如果您在此处,/Shop/Something它会更改为/Shop/Contact
您可能想改用绝对路径:
<Link to="/Contact" />
Run Code Online (Sandbox Code Playgroud)
--
替换与推送路线是不同的。如果您将路线历史视为一个数组:
[
'/Shop/Item',
'/Shop/Item2'
]
Run Code Online (Sandbox Code Playgroud)
push将追加到列表中,并将replace替换最后一个索引
| 归档时间: |
|
| 查看次数: |
1901 次 |
| 最近记录: |