感谢作者:https://www.cnblogs.com/cp-cookie/p/14708810.html
React ProLayout组件自定义菜单导航 menuDataRender 不显示问题解决方案
解决方案:1、将ProLayout里面新增menu={{ loading }}
2、将config/defaulSettings.js中的menu给注释掉
const [loading, setLoading] = useState(true);
const [menuData, setMenuData] = useState([])
useEffect(() => {
const menus = []; // 模拟数据
setMenuData(menus)
setLoading(false)
}, [])
<ProLayout
...
menu={{loading}}
menuDataRender={() => menuData}
...
>
额外补充:(目前没用到)
一: 如果注释掉defaultSettings中的menu报错提示,这需要本地本地翻译语言包进行补充,
Missing message: “menu.xxx“ for locale: “zh-CN“, using default message as fallback
在locales/zh-CN/menu.js中,补充menu.xxx: xxx(导航栏显示的名称),如:'menu.运营计划.添加推送': '添加推送',
二:报错 React : cannot add property 'X', object is not extensible
这提示该对象不能直接添加属性 ‘X’, 需要进行解构后才可以,可以是使用 JSON.parse(JSON.stringify(obj)),或者 Object.assgin({}, obj)