目前,我的URL结构仍以哈希语法存储历史记录。
例如:http://localhost:3000/#/work?_k=otstr8
我试图让它使用来自react-router的browserHistory显示为:http://localhost:3000/#/work
这是我的routes.js 文件:

//Import Dependencies.
import React from 'react';
import { Router, Route } from 'react-router'
import ReactDOM from 'react-dom';

//Import Components.
import AboutElement from '../views/about/about.jsx';
import WorkElement from '../views/work/work.jsx';
import ResumeElement from '../views/resume/resume.jsx';

//Set up routes.
let routes = (
    <Router>
        <Route path='/' component={AboutElement}/>
        <Route path='/work' component={WorkElement}/>
        <Route path='/resume' component={ResumeElement}/>
    </Router>
);

export default routes;

我的 index.js 文件:
//Import Dependencies.
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, browserHistory } from 'react-router';

//Import Routes.
import routes from './routes/routes.js';

ReactDOM.render(<Router history={browserHistory} routes={routes} />, document.getElementById('application'))

根据我的研究,这种语法对browserHistory是正确的吗?由于某种原因,哈希历史记录仍在使用中。任何想法为什么这种情况仍在发生?

最佳答案

只需将历史记录安装为单独的库并使用。

import { createHistory } from 'history'

const history = createHistory()

08-03 16:04