有权限路由,那 history.push( ‘/‘)就存在页面不存在

有权限路由,那 history.push( ‘/‘)就可能存在页面不存在

我是通过权限过滤过的路由存在全局变量(initialState)
1.在app.tsx

 import routes from '../config/routes';
export async function getInitialState() {
	
	return {
		// 其他省略
		routes
	}
}

2、在登录成功后,根据账号的权限,跳转

// user/login.tsx组件中,登录成功后。做如下判断,进行跳转
 const userInfo = await fetchUserInfo() as {[key:string]: any}
        await fetchPrivilege();
        const routes =  initialState?.routes
        if(userInfo.creator) {
          history.push('/');
        }else {
          const role = userInfo?.role?.privilege as {[key:string]: []}

          const routefilter = routes.filter(route => route.access && role[route.access]);
          if(routefilter) {
          // 默认跳转到第一个路由
            history.push(routefilter[0].path);
            return
          }
        }
          history.push('/');
       
       
        return;

相关推荐

  1. 02-登录页面、动态权限等模块开发

    2024-04-11 14:40:02       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-11 14:40:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-11 14:40:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-11 14:40:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-11 14:40:02       20 阅读

热门阅读

  1. 使用Python快速模拟前端常用页面数据格式

    2024-04-11 14:40:02       16 阅读
  2. 单例模式基本介绍及两种实现方式详解

    2024-04-11 14:40:02       14 阅读
  3. 鸿蒙开发 一 (二)、熟悉鸿蒙之剑 ArkTS

    2024-04-11 14:40:02       18 阅读
  4. 腾讯云短暂崩溃2小时

    2024-04-11 14:40:02       15 阅读
  5. MySQL | 加索引报错

    2024-04-11 14:40:02       15 阅读
  6. 算法刷题day44

    2024-04-11 14:40:02       14 阅读
  7. 如何使用pandoc转word和正确的参考文献格式

    2024-04-11 14:40:02       13 阅读
  8. AcWing 793. 高精度乘法——算法基础课题解

    2024-04-11 14:40:02       14 阅读