2017-03-16 202 views
2

我爲路由器設置如下代碼:陣營路由器V4不工作

import React from 'react'; 
import { Router, Route, browserHistory } from 'react-router'; 
import App from './App'; 

export default() => ( 
    <Router history={browserHistory}> 
    <Route name="demo" path="/mydemo" component={App} /> 
    </Router> 
); 

不過,我發現了以下錯誤:

Warning: Failed prop type: The prop `history` is marked as required in `Router`, but its value is `undefined`. in Router (at Router.js:12)  
Uncaught TypeError: Cannot read property 'location' of undefined at new Router (Router.js:43) 
+0

你在哪裏填充'browserHistory'變量? –

+0

剛剛從反應路由器中導入安裝了反應路由器的包作爲導入{Router,Route,browserHistory}後才導入; – Ramusesan

+0

你使用的是什麼版本的react-router? – Nicholas

回答

5

我認爲你可能有你的陣營,路由器v3和v4實現混合在一起。也許你最近升級了?

在任何情況下,請嘗試:

import {BrowserRouter, Route} from 'react-router-dom'; 

... 

render((
    <BrowserRouter> 
    <Route path="/" component={App} /> 
    </BrowserRouter> 
), document.getElementById('root')); 

不要忘記安裝react-router-dom,如果你還沒有。另外,如果您需要更多信息,請查看官方Quick Start指南。

+0

偉大的工作Chris現在的工作 – Ramusesan

+0

@Ramusesan很高興我能幫上忙。 – Chris

+0

以下也工作罰款導入{HashRouter作爲路由器,路由}從'react-router-dom'; 從'./components/App'導入應用程序; render((),document.getElementById('root')); – Ramusesan