- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 React
并关注 this教程。这是我的routes.js 文件:
var React = require('react');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var historyHistory = ReactRouter.hashHistory;
var IndexRoute = ReactRouter.IndexRoute;
var Main = require('../components/Main');
var Home = require('../components/Home');
var routes = (
<Router history={hashHistory}>
<Route path='/' component={Main}>
<IndexRoute path='/home' component={Home} />
</Route>
</Router>
);
module.exports = routes;
以及 package.json 中已安装的依赖项:
"dependencies": {
"react": "^15.4.1",
"react-dom": "^15.4.1",
"react-router": "^3.0.0"
},
"devDependencies": {
"babel-core": "^6.20.0",
"babel-loader": "^6.2.9",
"babel-preset-react": "^6.16.0",
"html-webpack-plugin": "^2.24.1",
"webpack": "^1.14.0",
"webpack-dev-server": "^1.16.2"
}
使用此代码,我收到此错误:ReferenceError:hashHistory 未定义
如果我删除 hashHistory,则会收到此错误:ReferenceError:历史未定义
我无法理解该错误,因为如果我不使用 hashHistory,该错误指向什么 history
?
罪魁祸首(存在于 dist/index_bundle.js
中,一些生成的代码)是:
!history.getCurrentLocation ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You have provided a history object created with history v2.x or ' + 'earlier. This version of React Router is only compatible with v3 ' + 'history objects. Please upgrade to history v3.x.') : (0, _invariant2.default)(false) : void 0;
最佳答案
您正在第 5 行将 ReactRouter.hashHistory 作为 var HistoryHistory 导入。
因此,当您渲染 Router 组件时,您应该执行 History={historyHistory} 或将顶部的变量重命名为 hashHistory。
编辑:当您完全忽略历史记录时,您会得到的错误是,因为历史记录是强制性的 Prop 。
关于javascript - 使用 HashHistory 时出现引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41160996/
我正在学习 React 并关注 this教程。这是我的routes.js 文件: var React = require('react'); var ReactRouter = require('re
我在我的 React 应用程序中设置了我的路线,如下所示: // App.js import React from 'react'; import ReactDOM from 'react-dom';
我使用 React Router 已经有一段时间了,我一直在使用 hashHistory 来处理路由。在某些时候,我打算将应用程序转换到 browserHistory,但我很好奇为什么 Google
我对 React 比较陌生;如果这是一个非常幼稚的问题,我深表歉意。 browserHistory有哪些技术优势?使其优于 hashHistory ?例如,使用 History API 是否有重大的性
我正在学习Reactjs和路线。 所以问题是路由正在工作,但他们将其添加到网址“/#/AboutUs?_k=gb8gte”。 如何才能使 URL 变得用户友好?只是类似/AboutUs ReactDO
我无法让我的 react 应用程序加载子路由的组件。当我执行 this.context.router.push('/url') 时,URL 发生变化,但指定为该路由加载的组件未加载。我有这个在另一个组
我正在尝试为我的 React 应用程序使用路由器。我尝试了一段时间之前一直在使用的东西,但似乎无法启动。 React Router v4 中的 hashHistory 是否已被删除/重新格式化?
我正在开发一个像这样使用 react 路由器的 SPA: 我有一个附加到 Base 的组件,它应该通过以下方式更新 Single 的内容: hashHist
使用react-router并通过example进行查看如果我得到Error: Cannot find module 'react-router/lib/HashHistory' 我已经添加到我的项目
我有一个使用react-router 1.x和hashHistory的bootstrap+react主题,我想删除哈希,所以遵循这个advice 。最初我尝试在 1.x 版本时执行此操作,但无法执行此
我一生都无法弄清楚为什么这个设置不起作用。我已经尝试解决这个问题大约 10 个小时了。我正在使用 history 3.2.1、react-router 3.0.2 和 react-router-red
我正在尝试在我的 MERN 堆栈应用程序上使用 React Router,但遇到了麻烦,因为所有路由都渲染相同的组件 路由器(index.jsx): import React from 'react'
我用谷歌搜索了很多,但没有找到以下问题的明确答案:react-router 中的 useHistory 和浏览器历史记录有什么区别? 最佳答案 基本区别在于 hashHistory 使用如下 URL:
我最近对我的代码进行了更改,以在我的 React-Router 中使用 browserHistory 而不是 hashHistory。尽管我工作的网站的某些用户可能已将带有哈希的 URL 添加为书签。
我是一名优秀的程序员,十分优秀!