2017-03-15 62 views
1

所以我有一個非常基本的設置爲我的index.js文件,在那裏我所有的路線被保留。我從控制檯獲取上述TypeError,但我不確定原因。下面是我的代碼:ReactJS - 無法讀取未定義的屬性'位置'在新的路由器

const React = require('react'); 
 
const ReactDOM = require('react-dom'); 
 

 
// React router goodies 
 
import { Router, Route, browserHistory, IndexRoute, hashHistory } from 'react-router'; 
 

 
const App = require('./components/App.jsx'); 
 

 
ReactDOM.render(
 
    <Router history = {browserHistory}> 
 
    <Route path="/" component={App}> 
 
    </Route> 
 
    </Router>, 
 
    document.getElementById('app') 
 
);

+0

難道是圍繞等號的空間簽名了嗎? –

+0

嘗試 '進口{APP}從 './components/App.jsx');' 或 '<路由路徑= 「/」 成分= {應用} />' – Nicholas

+0

RR的版本您使用的哪? –

回答

3

不再從react-router 4版本支持browserHistory,這裏提出的問題 - Can no longer import { IndexRoute, browserHistory } from version 4.

更換爲3.0.0版本或使用BrowserRouter修復相同。

對於3.0.0版本:

"dependencies": { 
    "react": "^15.4.1", 
    "react-dom": "^15.4.1", 
    "react-router": "^3.0.0", 
    "webpack": "^1.14.0", 
    "webpack-dev-server": "^1.16.2" 
} 

對於4.0.0版本:

const React = require('react'); 
const ReactDOM = require('react-dom'); 
import { BrowserRouter, Route } from 'react-router-dom'; 

const App = require('./components/App.jsx'); 

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

謝謝,這對我有用 –