React ProLayout组件自定义菜单导航menuDataRender不显示问题解决方案,React : cannot add property 'X', object is not extensible

如题: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)