我正在使用react-router进行路由,我使用hashHistory选项,以便我可以从浏览器刷新页面或指定我现有路由的URL并登陆到右侧页面 . 它工作正常,但我在网址中看到这样的哈希:http://localhost/#/login?_k=ya6z6i
这是我的路由配置:
ReactDOM.render((
<Router history={hashHistory}>
<Route path='/' component={MasterPage}>
<IndexRoute component={LoginPage} />
<Route path='/search' component={SearchPage} />
<Route path='/login' component={LoginPage} />
<Route path='/payment' component={PaymentPage} />
</Route>
</Router>),
document.getElementById('app-container'));
4 回答
您是否尝试过browserHistory选项?您还可以从浏览器刷新页面或指定其中一条现有路线的URL并登陆右侧页面 .
而且考虑到react-router github doc,hashHistory不用于 生产环境 用途 .
https://github.com/ReactTraining/react-router/blob/master/docs/guides/Histories.md#browserhistory
Should I use hashHistory?
您需要从
react-router
导入browserHistory
并将其传递给
<Router />
,以便从URL中删除哈希例如:
试试这个:
https://github.com/reactjs/react-router/blob/master/upgrade-guides/v2.0.0.md#using-custom-histories
https://github.com/reactjs/react-router/blob/8ef625e8fa7c41dda0f3d1d68a10b74bd93a4101/docs/guides/ba...
我是新的反应,但我使用了BrowserRouter,它工作正常: -