如何使用反应路由器,并让链接导航到特定页面上的特定位置(例如 /home-page#section-three
)
详情 :
我使用 react-router
在我的反应应用程序。
我有一个站点范围的导航栏,需要链接到一个页面的特定部分,如 /home-page#section-three
。
因此,即使你在说 /blog
,点击这个链接仍然会加载主页,第三部分滚动进入视图。这正是标准 <a href="/home-page#section-three>
的工作方式。
注意 : response-router 的创建者还没有给出明确的答案。他们说这是在进行中,同时使用其他人的答案。我会尽我最大的努力使这个问题与进展和可能的解决方案保持更新,直到一个占主导地位的问题出现。
研究 :
这个问题来自2015年(也就是10年前的反应时间)。投票最多的答案是使用 HistoryLocation
而不是 HashLocation
。基本上,这意味着将位置存储在窗口历史记录中,而不是散列片段中。
坏消息是... ... 即使使用 HistoryLocation (大多数教程和文档在2016年都会这么做) ,锚标记仍然不起作用。
Https://github.com/reacttraining/react-router/issues/394
关于如何使用锚链接和反应路由器的反应训练课程。这不是确定的答案。要小心,因为大多数建议的答案都过时了(例如,使用 <Link>
中的“ hash”支持)