无法获得物业' location'未定义或空引用ReactJS

时间:2017-08-11 15:31:36

标签: javascript reactjs

我有这个文件导致我的reactapp中出错。

import React from 'react';
import { Router, Route } from 'react-router'; 

import App from './components/App';
import About from './components/About'; 
import NotFound from './components/NotFound';

const Routes = () => (
    <Router>
        <Route path="/" component={App} />
        <Route path="/about" component={About} />
        <Route path="*" component={NotFound} />
    </Router>
);


export default Routes; 

出于某种原因,如果我替换

<Router>
    <Route path="/" component={App} />
    <Route path="/about" component={About} />
    <Route path="*" component={NotFound} />
</Router>

只有一个像<div> hi </div>这样的简单内容,我可以在我的应用中看到你好,否则我会收到此错误。

  

TypeError:无法获取属性&#39; location&#39;未定义或空引用

2 个答案:

答案 0 :(得分:2)

我认为您正在使用react路由器V4.0,使用v3.0.0它将起作用。

答案 1 :(得分:1)

根据您的路由结构,我假设您使用的是react-router V2或V3。

您错过了路由器使用hashHistorybrowerHistory的历史记录部分,并将其定义如下:

import { Router, Route, hashHistory } from 'react-router'

<Router history={hasHistory}>
   ....
</Router>

检查 DOC以获取有关历史记录的详细信息