react-router4/5没有onLeave,怎么做路由跳转时候的过渡效果

新手上路,请多包涵

打算用nprogress,但是react-router4开始就没有onLeave和enter的钩子了
nprogress这类的进度条效果该在什么时候写

阅读 2.3k
1 个回答

你可以看一下这个第三方库:“react-loadable”,做按需加载的,其中有loading回调函数

import Loadable from 'react-loadable';
import LoadingBar from '@/components/LoadingBar';

export default url =>
  Loadable({
    loader: () => import(`@/${url}.js`),
    loading(props) {
      if (props.error) {
        throw props.error;
      }
      return <LoadingBar />; // 这里就是loading组件, 可以自定义loading样式
    }
  });

如果上面不能满足需求。
你可以看一下“react-transition-group”
我想基本这些就能满足了,实在还不行,那么你就需要自己做拦截器了,根据加载文件和生命周期来做
希望我能帮助你。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题