【发布时间】:2017-03-09 21:18:10
【问题描述】:
如何使用 react-router,并让链接导航到特定页面上的特定位置? (例如/home-page#section-three)
详情:
我在我的 React 应用程序中使用 react-router。
我有一个站点范围的导航栏,需要链接到页面的特定部分,例如 /home-page#section-three。
因此,即使您说/blog,单击此链接仍会加载主页,第三部分会滚动到视图中。这正是标准<a href="/home-page#section-three> 的工作方式。
注意:react-router 的创建者并没有给出明确的答案。他们说它正在进行中,同时使用其他人的答案。我会尽我最大的努力保持这个问题的最新进展和可能的解决方案,直到出现一个占主导地位的问题。
研究:
How to use normal anchor links with react-router
这个问题来自 2015 年(所以 10 年前的反应时间)。最受欢迎的答案是使用HistoryLocation 而不是HashLocation。基本上,这意味着将位置存储在窗口历史记录中,而不是存储在哈希片段中。
坏消息是……即使使用 HistoryLocation(大多数教程和文档在 2016 年都这么说),锚标签仍然不起作用。
https://github.com/ReactTraining/react-router/issues/394
关于如何在 react-router 中使用锚链接的 ReactTraining 线程。这不是确定的答案。请小心,因为大多数建议的答案都已过时(例如,在 <Link> 中使用“hash”道具)
【问题讨论】:
标签: javascript reactjs routes react-router anchor