React
を学習しており、thisのチュートリアルに従っています。私はhashHistoryを削除した場合 ReferenceError: hashHistory is not defined
HashHistoryを使用しているときのReferenceError
:
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でのインストールの依存関係:ここに私のroutes.jsファイルです。このコードを使用して
"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: history is not defined
私はエラーを理解できませんhashHistoryを使用して、どのようなhistory
を指すエラーですか?
犯人だライン(dist/index_bundle.js
に存在は、いくつかの生成されたコード)がある:あなたがルーターをレンダリングするときは、5
ので、ライン上のvar historyHistoryとしてReactRouter.hashHistoryをインポートしている
!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;
ありがとう、私は今は愚かだと感じる:)また、チュートリアルでは、それは歴史を含まない男のために働いた。彼は以前のバージョンからの変更ですか?彼は2.0.0を使用していましたが、私は3.0.0を使用していますか? –
これまでのバージョンでは、これは必須ではありませんでした。 – janrop