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版)