<BrowserRouter>
<Router>
的一种,通过使用HTML5提供的history API(pushState,replaceState,propstate)机制来维持页面UI同RUL的统一。
Props
basename: 该router下路由路径的base url. 应该有一个前置斜杠,但不能有后置斜杠。如果你的页面路由路径为某个子目录,那base url应设置为这个子目录。该页面的其他路由路径即在这个之下。
<BrowserRouter basename="/calendar"/>
<Link to="/today"/> // renders <a href="/calendar/today">
getUserConfirmation: 路由跳转的二次确认函数,用来拦截Prompt组件, 默认情况下使用window.confirm弹框
<BrowserRouter basename={'/home'} getUserConfirmation={setConfirmation}>
<div>
<Prompt message={'Are you sure to leave'}/>
<Link to={'/test'}>ceshi</Link>
<Route path={'/test'} component={Test}/>
</div>
</BrowserRouter>
forceRefresh: 布尔值,为true时, router在进行路由跳转的时候会进行页面刷新,可能只在浏览器不支持H5 history api的情况下需要使用。
keyLength: 自定义location.key的长度,默认为6. location.key 或者location.state(废弃)可以用来保存页面滚动条位置。
children: 需要渲染的‘单个reactNode元素组件’
<HashRouter>
<Router>
的一种,通过URL hash部分,如location.hash来保持UI同URL一致。
注意事项:
Hash History不支持location.key 或 location.state. hashRouter一般用于低版本浏览器,在较高版本浏览器中推荐配置服务器端使用browserHistory