Javascript HTML锚定标记和react路由器

Javascript HTML锚定标记和react路由器,javascript,reactjs,react-router,html5-history,Javascript,Reactjs,React Router,Html5 History,我有一个基于哈希历史的react+react路由器SPA,我遇到了一个障碍 以下是我的URL的外观: http://mysite/#/path/:id 基于id我异步检索文档并显示它。我检索的文档是一个预先制作好的HTML文档,我在组件上使用它 现在,问题是上面的文档可能包含命名的/id锚,以跳转到该页面上的特定部分 e、 g. 我想在危险的HTML之前在客户端重写/重新处理HTML,以便这些锚定链接能够工作。正确的方法是什么 PS:我尝试使用无散列历史记录,但我有其他问题(例如,所有标记都需要

我有一个基于哈希历史的react+react路由器SPA,我遇到了一个障碍

以下是我的URL的外观:

http://mysite/#/path/:id

基于
id
我异步检索文档并显示它。我检索的文档是一个预先制作好的HTML文档,我在组件上使用它

现在,问题是上面的文档可能包含命名的/id锚,以跳转到该页面上的特定部分

e、 g.

我想在
危险的HTML
之前在客户端重写/重新处理HTML,以便这些锚定链接能够工作。正确的方法是什么


PS:我尝试使用无散列历史记录,但我有其他问题(例如,所有
标记都需要立即使用
创建,以避免重新加载页面。

现在出现了什么问题?使用基于散列的历史记录,
标记上的URL指向
http://mysite/#path/:id#2
-哪个不起作用(单击时不会发生任何事情)
href
是否正确?它是否将链接中的
:id
替换为正确的id?或者这就是问题所在?您可能希望使用regex之类的东西将所有
标记替换为
。@Chris,它确实替换了id,并以错误的链接结束-您是对的。不过,我可能可以用一些JS来防止这种情况发生.但尽管如此,我还是无法使用它,因为浏览器似乎无法处理
http://mysite/#path/:id#2