[英]BrowserHistory not working for react-router
目前我的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()
剛剛為browserHistory創建了我自己的變量。
//Import Dependencies.
import React from 'react';
import ReactDOM from 'react-dom';
import { Router } from 'react-router';
import createBrowserHistory from 'history/lib/createBrowserHistory';
const browserHistory = createBrowserHistory();
//Import Routes.
import routes from './routes/routes.js';
ReactDOM.render(<Router history={browserHistory} routes={routes} />, document.getElementById('application'));
url的語法現在是:
本地主機:3000 /
localhost:3000 / 工作
localhost:3000 / 簡歷
哪個好極了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.