Ant Design 4+ 出来之后一直没有在项目中使用,也不敢轻易升级项目中的版本,官网看似变化不大,其实几乎所有组件都有改动,甚至有的组件如Form 、Tree 、 Select、 Table 等整个重写了 从v3到v4的更新变化,详细
新项目尝试了下Antd4 感觉比以前更简单明了,由于很多组件存在细微变化, 使用起来还是看文档为主,基本都正常解决,直到遇到一个问题~~~~
侧边菜单的Icon动态生成问题
当然直接使用antd 的Menu组件写死也是可以的,但菜单多的话,就不好管理了,那我们就创建个菜单数组,遍历一波
然后问题就来了,v3里面我们Menu 组件是这样的

<Icon/> 都是统一的,想动态改变只需要改变type的值就行了
//如:<Icon type="pie" /> <Icon type="shop" /> <Icon type="time" />
v4里再看下Menu组件变成这样了
icon变成了Menu的一个属性,参数是节点,一下子懵了不知道怎么动态生成了
当时生了好多骚操作,无奈实现不了。。。
仔细翻了文档找到了最原始的方法*** React.createElement() ***
*** 当时就抽了自己一巴掌,天天hook hook,却把react最初的方法给忘了 ***
简单介绍下 React.createElement( 节点名称 ,节点属性集合,内容集合 )
<h1 className="one">React.createElement</h1>
React.createElement("h1", {className: "one"}, "React.createElement")
那么应用到这里,直接 React.createElement(icon_name)是不是就可以了

就是这么简单粗暴,结果也是我们想要的
学习本就是是学和忘的过程,一味的追求新技术,把根本的东西都忘了,不该啊,记录一下警醒自己。