昨天小编在学习React使用Ant Design Menu导航菜单时,发现Ant Design4.2版本之后的 Menu 导航菜单更新了写法。新写法不再需要自行拼接 JSX,直接采用数组写法直接用 items={数组名}就可以了。

原写法

 <Menu mode="horizontal" defaultSelectedKeys={['mail']}><Menu.Item key="mail" icon={<MailOutlined />}>Navigation One</Menu.Item><Menu.SubMenu key="SubMenu" title="Navigation Two - Submenu" icon={<SettingOutlined />}><Menu.Item key="two" icon={<AppstoreOutlined />}>Navigation Two</Menu.Item><Menu.Item key="three" icon={<AppstoreOutlined />}>Navigation Three</Menu.Item><Menu.ItemGroup title="Item Group"><Menu.Item key="four" icon={<AppstoreOutlined />}>Navigation Four</Menu.Item><Menu.Item key="five" icon={<AppstoreOutlined />}>Navigation Five</Menu.Item></Menu.ItemGroup></Menu.SubMenu></Menu>

现写法

 const items=[{ label: '菜单项一', key: 'item-1' }, // 菜单项务必填写 key{ label: '菜单项二', key: 'item-2' },{ label: '菜单项三', key: 'item-3' },{ label: '菜单项四', key: 'item-4' }
]
const App = () => {return (<MenudefaultSelectedKeys={['1']}mode="inline"items={items}/>);
};

虽然这种写法大大减少了我们的工作量,但随之而来的又有了新的问题。该怎么跳转???之前写JSX的时候可以直接在里面用<link ></link>来跳转,但现在添加不了link。小编因为刚接触React,所以就卡壳了,搜了半天终于知道如何解决这个问题。因此写篇文章来记录一下自己学习React所遇到的问题。

解决方法

在更新后 Menu导航菜单可以绑定点击事件,可以返回 key, keyPath等值

例如

const items = [{key: '/Article',icon: <HomeOutlined />,label: "数据概览"},{key: '/',icon: <DiffOutlined />,label: "内容管理"},{key: '/Publish',icon: <EditOutlined />,label: "发布文章"}]<Menu theme="dark" onClick={onClick} defaultSelectedKeys={[pathname]}
selectedKeys={[pathname]} mode="inline"
style={{ height: '100%', borderRight: 0 }}
items={items} ></Menu>const onClick = (e) => {console.log(e)}

所以我们可以用<link>绑定地址跳转写法用到我们数组里来,把数组里的key写成成我们要跳转的页面。再通过点击能拿到我们的跳转页面了。

拿到地址以后,用react-route-dom里的useNavigate来进行跳转就行

切记,一定要再方法里创建!!!小编之前糊涂看到Ant Design组件在外面创建也就跟着在外面创建,结果疯狂报错。都是血的教训。

以上就是解决Ant Design4.2之后 Menu导航菜单跳转过程了,供大家学习。小编刚学习React,有不对的地方下嘴轻点,小编嘴笨怕争不过。

React Ant Design Menu导航菜单跳转相关推荐

  1. ant vue 树形菜单横向显示_ant design vue menu 导航菜单

    ant design vue menu 导航菜单 ant design vue menu 导航菜单是一个网站或者系统的重要功能,通过导航可以对网站或者系统的功能进行分门别类. 水平导航菜单 例子 首页 ...

  2. ant design Menu组件子菜单样式设置

    ant design Menu组件子菜单样式设置 Menu二级子菜单宽度较宽,直接设置width不起作用,会被他自带的min-width覆盖 解决办法:设置组件的全局样式,提升优先级,如下所示: &l ...

  3. vue、Menu 导航菜单、Menu属性事件、vue Menu 全部导航菜单、vue Menu 全部属性事件

    vue.Menu 导航菜单.Menu属性事件.vue Menu 全部导航菜单.vue Menu 全部属性事件 设计规则 何时使用 代码演示 顶部导航 内嵌菜单 缩起内嵌菜单 只展开当前父级菜单 垂直菜 ...

  4. BootstrapBlazor实战 Menu 导航菜单使用(2)

    接上篇: B08. BootstrapBlazor实战 Menu 导航菜单使用(1) 实战BootstrapBlazorMenu 导航菜单的使用, 以及整合Freesql orm快速制作菜单项数据库后 ...

  5. React Ant design pro 访问服务器接口,获取数据显示

    React Ant design pro 访问服务器接口 一.前两天更新了Ant design pro环境搭建,需要了解的小伙伴可以看一下之前的内容,还有react基础教程噢. 二.框架搭建完后,一般 ...

  6. react ant design pro typescript springboot activiti权限、工作流框架

    是什么? 使用springboot,activiti,mybatis,react,ant design pro,typescript 开发的后台管理系统(包含权限管理.工作流等功能),真正前后端分离的 ...

  7. 使用create-react-app搭建TypeScript+React+Ant Design开发环境

    一.使用create-react-app创建一个支持TypeScript+React的开发环境: 要创建一个支持TypeScript的Create React App项目,可以运行: npx crea ...

  8. 从Antd 源码到自我实现之 Menu 导航菜单

    Antd Menu 简述 Menu 为页面和功能提供导航的菜单列表. 导航菜单是一个网站的灵魂,用户依赖导航在各个页面中进行跳转.一般分为顶部导航和侧边导航,顶部导航提供全局性的类目和功能,侧边导航提 ...

  9. React + Ant Design Pro项目实现keep-alive页签

    背景 PC端管理系统,采用 ant design pro 方案,它是阿里的一个管理系统框架,技术栈是react. 相比vue,react一个先天不足是不支持 keep-alive,所以管理系统中的多页 ...

最新文章

  1. libgdx 3D 测试一
  2. 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例
  3. 面试题 数组长度可否赋值
  4. mac电脑的磁盘空间变得越来越小
  5. xshell xftp免费版下载
  6. wifi控制基于STM32与NFC的万能红外遥控器—毕业设计(1)
  7. 全局钩子,解决命名烦恼!——代码翻译小工具。
  8. Product UVA - 10106(大数乘法)
  9. 如何使用Reviewboard进行代码Review?
  10. 每日一学20——凉鞋的简易消息机制
  11. 分布式光伏站远程监控组网解决方案
  12. 最新apktool_2.4.1
  13. 使用OpenCv中Mat进行水平投影与垂直投影并实现字符切分
  14. 实现Modbus设备转Profinet IO协议接西门子PLC的解决方案
  15. Appium基础篇10-元素定位之by_accessibility_id
  16. oracle中创建数据库用户,并授权
  17. python 读取excel 批量 重命名文件夹
  18. 十、软件项目开发总结报告-模板
  19. 解决office稿纸加载项,打开word老弹出窗口的问题
  20. 【scp】Windows 下scp报错 bad permissions

热门文章

  1. 【MySQL】空值(Null)和空字符串(‘’)的区别
  2. LR11安装和配置教程
  3. mysql替代符号_SQL语言之和符号(amp;)替换
  4. Linux系统内存知识总结
  5. 通过数组下标为数组赋值(C语言)
  6. 【STM32F429】第6章 ThreadX NetXDUO网络协议栈移植到STM32F429
  7. ubuntu16.04 Intel Realsense D435i 环境安装
  8. plotly使用问题
  9. PyTorch——自注意力(self-attention)机制实现(代码详解)
  10. 【ROS入门21讲】发布者Publisher的编程使用