umi学习笔记

一、路由

  • 静态路由/动态路由

 这是动态路由

静态路由是启动应用的时候把所有路由模块都加载进来

动态路由是当你访问到这个页面,才把对应的组件加载

[]可包文件或文件夹

  • wrappers 用于配置路由的高阶组件封装

可以用于路由级别的权限校验(路由权限校验/路由守卫)

export default {
  routes: [
    { path: '/user', component: 'user',
      wrappers: [
        '@/wrappers/auth',
      ],
    },
    { path: '/login', component: 'login' },
  ]
}

然后在 src/wrappers/auth 中,

import { Redirect } from 'umi'
export default (props) => {
  const { isLogin } = useAuth();
  if (isLogin) {
    return <div>{ props.children }</div>;
  } else {
    return <Redirect to="/login" />;
  }
}

这样,访问 /user,就通过 useAuth 做权限校验,如果通过,渲染 src/pages/user,否则跳转到 /login,由 src/pages/login 进行渲染。

 

原文地址:https://www.cnblogs.com/it-Ren/p/13447775.html