在proComponent 中高级布局,提到了menuDataRender这个属性
//app.tsx
export const layout: RunTimeLayoutConfig = ({ initialState }) => {
return {
...
menuDataRender: () => menuDataRender(),
...
};
};
奈何这样的结构搞了好久就是不成功一直白屏,在网上搜索很多大部分也是这么搞。最后在官网发现一段代码。
// https://umijs.org/zh-CN/plugins/plugin-layout
export const layout: RunTimeLayoutConfig = ({ initialState }) => {
return {
menu: {
// 每当 initialState?.currentUser?.userid 发生修改时重新执行 request
params: {
userId: initialState?.currentUser?.userid,
},
request: async (params, defaultMenuData) => {
// initialState.currentUser 中包含了所有用户信息
const menuData = await fetchMenuData();
return menuData;
},
},
};
};
原来是通过menu的属性啊,可是解决了大难题。