非常类似于这个有角度的问题 https://stackoverflow.com/questions/14712223/how-to-handle-anchor-hash-linking-in-angularjs:使用react-router时如何使用锚链接进行页内导航?
换句话说,使用react-router时如何实现以下纯HTML?
<a href="#faq-1">Question 1</a>
<a href="#faq-2">Question 2</a>
<a href="#faq-3">Question 3</a>
<h3 id="faq-1">Question 1</h3>
<h3 id="faq-2">Question 2</h3>
<h3 id="fa1-3">Question 3</h3>
目前,我拦截此类链接的点击,并滚动到锚点位置。这并不令人满意,因为这意味着不可能直接链接到页面的某些部分。
锚链接的问题在于,react-router 默认是使用 URL 中的哈希来维护状态。幸运的是,您可以将默认行为替换为其他行为,按照位置文档 https://github.com/rackt/react-router/blob/f7b86bc7c40c3e5167bf00c380405a69eb454b25/docs/api/Location.md。在您的情况下,您可能想尝试使用 HistoryLocation 对象来尝试“干净的 URL”,这意味着 React-router 不会使用 URL 哈希。像这样尝试一下:
Router.run(routes, Router.HistoryLocation, function (Handler) {
React.render(<Handler/>, document.body);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)