React-Router onChange hook
React-Router onChange hook
我在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;
我的理解是,函数loupdate将在每次状态更改时触发。但是,只有当我通过F5重新加载相应的页面时才会触发。
我的菜单使用简单的链接,例如:
<div>
<Link to="/testone">Test One</Link>
<Link to="/testtwo">Test Two</Link>
</div>
我做错了什么?
需要在Router
实例上声明onUpdate
而不是Route
s。虽然,Route
s可以声明onChange
和onEnter
钩子-这可能是你正在寻找的。
我正在使用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>);
相关文章:
- Onchange没有'不要显示或隐藏Div
- Javascript Select OnChange没有'不要第二次工作
- onChange不足以从Dojo组合框触发查询
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- 如何使用javascript和PHP动态触发onChange事件
- react testUtils模拟点击单选按钮而不触发onchange
- onChange 函数更改表中显示的数据
- Javascript onchange()函数不起作用
- 在表单OnChange中交换数字顺序
- onchange值为select的重载页面
- Javascript:如何在onChange事件期间更改日期时间值
- JavaScript onchange事件未在IIS7中激发
- 选择标记onchange不适用于移动设备
- jQuery body onChange具有多个元素和多个函数
- 如何在jQuery中为asp:textbox生成onchange事件
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 当select标记触发onChange事件时,从mysql数据库加载html表
- Jquery change onchange in onload
- 从javascript调用服务器端的下拉列表onchange函数
- React-Router onChange hook