Javascript 更换挂钩时的反应
我在react路由器中的onChange钩子正常工作时遇到问题。这是我的路由文件:Javascript 更换挂钩时的反应,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我在react路由器中的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('
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;
从“React”导入React;
从“react Router”导入{Router,Route,browserHistory};
从“./Pages/TestOne”导入TestOne;
从“/Pages/TestTwo”导入TestTwo;
函数logUpdate(){
log('当前URL:'+window.location.pathname);
}
常数路由=(
{/*应用程序路由*/}
);
导出默认路径;
我的理解是,每次状态更改都会触发函数logUpdate。但是,仅当我通过F5重新加载相应页面时才会触发
我的菜单使用简单链接,例如:
<div>
<Link to="/testone">Test One</Link>
<Link to="/testtwo">Test Two</Link>
</div>
测试一
测试二
我做错了什么?需要在
路由器
实例上声明,而不是路由
s。虽然,Route
s可以声明和钩子-这可能是您正在寻找的。我使用的是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>);
const路由=(
{/*应用程序路由*/}
);
太好了,真不敢相信我错过了!感谢IgorSvee,这些链接适用于版本2.X,现在4.0:)上的react router已从路由器组件中删除。看到这个问题了吗-