我在使react-router中的onChange挂钩正常工作时遇到问题。这是我的路线文件:
import React from 'react';
import { Router, Route, browserHistory } from 'react-router';
import TestOne from './Pages/testone';
import TestTwo from './Pages/testtwo';
function logUpdate() {
console.log('Current URL: ' + window.location.pathname);
}
const Routes = (
<Router history={browserHistory}>
{/* App Routes */}
<Route path="/" component={App} lang={lang}>
<Route path="/testone" component={TestOne} onUpdate={logUpdate} />
<Route path="/testtwo" component={TestTwo} onUpdate={logUpdate} />
</Route>
</Router>);
export default Routes;
我的理解是,每次状态更改时都会触发函数logUpdate。但是,仅当我通过F5重新加载相应页面时才会触发它。
我的菜单使用简单的链接,例如:
<div>
<Link to="/testone">Test One</Link>
<Link to="/testtwo">Test Two</Link>
</div>
我做错了什么?
答案 0 :(得分:5)
答案 1 :(得分:0)
我正在使用react-router ^ 2.4.0并且onUpdate对我不起作用。我在我的基本路由组件上使用了onChange。
const Routes = (
<Router history={browserHistory}>
{/* App Routes */}
<Route path="/" component={App} lang={lang} onChange={logUpdate}>
<Route path="/testone" component={TestOne} />
<Route path="/testtwo" component={TestTwo} />
</Route>
</Router>);