Open cjmafei opened 6 years ago
@cjmafei 这个是异常的,贴一下代码吧
`import React from 'react'; import ReactDOM from 'react-dom'; import { HashRouter, Route, Control } from 'react-keeper' import config from 'config/global'; import Home from 'pages/home/Home'; // import School from 'pages/school'; import Team from 'pages/team'; import People from 'pages/people'; import Class from 'pages/class'; import Part from 'pages/part'; import Pdf from 'pages/pdf'; import Town from 'pages/town'; import Issubsidy from 'pages/issubsidy'; import './pages/public.less'; import LoginFilter from './filter/LoginFilter';
const scrollTop = function (cb) { console.log(' document.documentElement.scrollTop', document.documentElement.scrollTop) if (Control.path.indexOf('part') > -1 || Control.path.indexOf('class') > -1){ console.log('进来了'); if (config.ispc) { config.scrollTop = document.documentElement.scrollTop } else { config.scrollTop = document.body.scrollTop } }
cb()
} const School = (callback) => { require.ensure([], (require) => { let comp = require('pages/school/School'); callback(comp.default ? comp.default : comp); }, "school") } class App extends React.Component { render() {
return (
<div> {this.props.children} </div>
);
}
}
//
<Route name="app" path="/" component={ App } enterFilter={[LoginFilter]}>
<Route loadComponent={School} path='/school' leaveFilter={(cb) => { scrollTop(cb) }} />
{/* <School.route /> */}
<Team.route />
<People.route />
<Class.route />
<Part.route />
<Pdf.route />
<Town.route />
<Issubsidy.route />
</Route>
ReactDOM.render( rootRoute, document.getElementById('App') );`
上面是我的router配置
@cjmafei 这个问题已经修复,在react-keeper v2.1.8。
<Route loadComponent={School} path='/school' leaveFilter={(cb) => { scrollTop(cb) }} />
我这样写应该是只在school页面离开才会触发filter吧,但实际是每个页面都触发了,这个是正常的吗