簡體   English   中英

BrowserHistory不適用於react-router

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM