如何在没有URL的#的情况下从反应路由器的锚标签创建路由

时间:2017-05-25 04:22:22

标签: reactjs react-router

我的应用程序中有一个页面,其中有几个部分可以滚动。我想使用React Router创建这些部分的链接。我希望它们是没有#的真实链接。他们在react-router文档(https://reacttraining.com/react-router/web/guides/quick-start)中的确做了什么。在那里,侧边栏链接不使用像#about这样的锚标签。相反,它们使用常规链接,这些链接将映射到锚标记。我们怎么做到这一点?

1 个答案:

答案 0 :(得分:1)

react-router中包含不同类型的路由器,如果您希望html5推送状态版本没有锚标记,那么您将使用BrowserRouter

import { BrowserRouter } from 'react-router-dom'

<BrowserRouter
  basename={optionalString}
  forceRefresh={optionalBool}
  getUserConfirmation={optionalFunc}
  keyLength={optionalNumber}>
  <App/>
</BrowserRouter>

-

<BrowserRouter basename="/calendar"/>
<Link to="/today"/> // renders <a href="/calendar/today">

如果您想使用锚标记路由,则可以使用HashRouter