在ES5採用陣營的路由器,我有下面的代碼Router`不再默認的歷史道具湊歷史
var React = require('react');
var Render = require('react-dom').render;
var Router = require('react-router').Router;
var Route = require('react-router').Route;
var hashHistory = Router.hashHistory;
var browserHistory = Router.browserHistory;
var About = require('./components/about/aboutPage');
var routes = (
<Router>
<Route path="/" handler={App}>
<Route path="about" handler={About}/>
</Route>
</Router>
);
module.exports = routes;
這在{} main.j呈現爲
var ReactDOM = require('react-dom');
var Router = require('react-router').Router;
var routes = require('./routes');
ReactDOM.render(<Router>{routes}</Router>, document.getElementById('app'));
然而,在控制檯中,我得到這樣的警告並沒有什麼加載了:在上面的代碼中
bundle.js:1845 Warning: [react-router] `Router` no longer defaults the history prop to hash history. Please use the `hashHistory` singleton instead
我已經清楚地通過{} hashHistory ,但它仍然在抱怨。
任何可能出錯的提示?
謝謝
我這樣做,但仍然警告仍然存在。我現在正在通過反應路由器代碼本身,並且看到它調用了[function isDeprecatedHistory(history){return} {history || history ||}}。 !history .__ v2_compatible__ }]這似乎是返回true導致警告生成。不知道爲什麼這是真的,因爲歷史是非空的,並且是V2兼容的 – sppc42
您使用的是哪個版本的反應路由器 –
當前正在使用2.8.0 – sppc42