lanistor / react-keeper

A routing library of React.
804 stars 76 forks source link

leaveFilter #73

Open cjmafei opened 6 years ago

cjmafei commented 6 years ago

<Route loadComponent={School} path='/school' leaveFilter={(cb) => { scrollTop(cb) }} />

我这样写应该是只在school页面离开才会触发filter吧,但实际是每个页面都触发了,这个是正常的吗

lanistor commented 6 years ago

@cjmafei 这个是异常的,贴一下代码吧

cjmafei commented 6 years ago

`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>
    );
}

} // enterFilter={[LoginFilter]} const rootRoute =


<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') );`

cjmafei commented 6 years ago

上面是我的router配置

lanistor commented 6 years ago

@cjmafei 这个问题已经修复,在react-keeper v2.1.8。