当前位置: 首页 > 知识库问答 >
问题:

React Router-未捕获类型错误:无法读取未定义的属性“getCurrentLocation”

梁丘扬
2023-03-14

我使用的是最新版本的react路由器(版本^3.0.0)。

我使用ES5编写了以下路由:

routes.js

var React = require("react");
var Router = require("react-router");
var AuthorPage = require('./components/authors/authorPage')
var App = require('./components/app')
var Route = Router.Route;

var routes = (
    <Route path="/" component={App}>
        <Route path="authors" component={AuthorPage}/>
     </Route>
);

module.exports = routes;

在另一个名为main.JS的JS文件中,我执行以下调用:

main.js

var React= require("react");
var ReactDom = require("react-dom");
var Router = require('react-router').Router;
var routes = require('./routes');
ReactDom.render(<Router routes={routes}></Router>, document.getElementById('app'));

当我运行代码时,我在谷歌Chrome开发者工具中得到以下异常:

未捕获的TypeError:无法读取未定义的属性“getCurrentLocation”

为什么呢?我错过了什么?


共有2个答案

强化
2023-03-14

有相同的错误,通过以下方式解决:

添加

var hashHistory = ReactRouter.hashHistory;

在路由器设置中,历史等于hashHistory

<Router history={hashHistory}>

因此,在你的情况下:

var routes = (
<Router history={hashHistory}>
    <Route path="/" component={App}>
        <Route path="authors" component={AuthorPage}/>
     </Route>
</Router>
);
尉迟越
2023-03-14

您没有将历史记录传递给您的

查看历史记录文档以了解更多信息。

 类似资料:
  • 我正在选择area_enninFantry的所有子div,并循环调整某些子div的文本。cardArray是一个全局常量,myId在父函数中定义。 未捕获的TypeError:无法读取未定义的属性(读取“getAttribute”) 我在这篇文章中读到,这可能是因为字段/元素的内容可能是DOM元素,我应该用$()包装它们,所以我确实这样做了——将两个变量都更改为$(元素)[a]. attr(“标题

  • 我遇到了一个有趣的问题,这使我感到困惑。我正在执行一个正确返回数据的Sharepoint RestAPI调用,当我在数据上运行for循环时,它生成html,但仍然抛出我用作标题的错误。代码如下。如果我记录每个循环,它将返回值。HTML也可以很好地工作。问题是错误仍然会出现。

  • 我想有一个无限滚动的项目列表,我正在使用这个包https://github.com/CassetteRocks/react-infinite-scroller但是在留档中没有提到抓取功能的样子。 在我的代码中,它是这样的: 完整消息错误: 未捕获(promise中)类型错误:无法读取评估时未定义的属性“companys”(traineships.component.js:71) 编辑:(我不再有错

  • 我正在使用NVD3库根据Rails控制器中生成的数据制作简单的折线图。我用来在Rails中生成数据的代码是: 然后,在我看来,我有以下JS代码: 图表正确呈现,但当我尝试将鼠标悬停在数据点上以显示工具提示时,会出现错误“Uncaught TypeError:无法读取未定义的属性“x”

  • 我是一个新鲜和新的测试,我得到控制台错误在我的页面滚动时,它说像 main.js:18 未捕获的TypeError:无法读取未定义的属性“top” 我尝试了另一种解决方案,比如将选择器更改为变量,但错误没有得到解决,我想我想搜索整个页面以进行更正,但我没有确定这里是我的页面main.js 请帮我解决我的错误。。。

  • 我正在上传一张图片到firebase,然后试图将它的下载URL保存到< code>ionic storage,但是它给了我这个错误