Antd Pro V5 登录后重新远程请求菜单

Posted GhostCoder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Antd Pro V5 登录后重新远程请求菜单相关的知识,希望对你有一定的参考价值。

因为路由是存在 initialState 这个 Hooks 中,如下:

const { initialState, setInitialState } = useModel(\'@@initialState\');

所以只需要在登录的逻辑中利用这段代码即可:

// 自己写的远程请求接口
import { R_Menu } from \'@/services/builder\';
// 导入系统默认的菜单
import SystemRoutes from \'@/../config/routes\';
// 改写登录页的逻辑
const fetchUserInfo = async () => {
  const userInfo = await initialState?.fetchUserInfo?.();
  // 这里是成功返回用户信息之后的逻辑
  if (userInfo) {
    // 调用自己写的请求菜单
    const menu = await R_Menu();
    // 合并系统路由 & 业务菜单
    const freshMenu = SystemRoutes.concat(menu);
    // 覆盖系统当前的路由
    setInitialState({
      ...initialState,
      menuData: freshMenu,
      currentUser: userInfo,
    });
  }
};

以上是关于Antd Pro V5 登录后重新远程请求菜单的主要内容,如果未能解决你的问题,请参考以下文章

在 Antd React App 中重新创建类似 Sider/Drawer 的 Ant Design Pro

Ant Design Pro V5 从零开始到用户登录鉴权(javascript版)

umi中同时使用antd-mobile v2和v5

Ant Design Pro V4.5 从服务器请求菜单图标不显示解决

antd-design-pro 生产环境部署

antd-design-pro 生产环境部署