React18学习笔记47:基础架构搭建——menu.tsx实战案例


react18-学习笔记47-基础架构-menu.tsx_菜单项

import React from "react"

import classNames from 'classnames'
type MenuMode = 'horizontal' | 'vertical'
export interface MenuProps {
/**默认 active 的菜单项的索引值 */
defaultIndex?: string;
className?: string;
/**菜单类型 横向或者纵向 */
mode?: MenuMode;
style?: React.CSSProperties;
/**点击菜单项触发的回掉函数 */
onSelect?: (selectedIndex: string) => void;
children?:any;
}

export const Menu: React.FC<MenuProps> = (props) => {
const { className, mode, style, children, defaultIndex } = props
const classes = classNames('viking-menu', className, {
'menu-vertical': mode === 'vertical',
'menu-horizontal': mode !== 'vertical',
})

return (
<ul className={classes} style={style} data-testid="test-menu">
{children}
</ul>
)
}

Menu.defaultProps = {
defaultIndex: '0',
mode: 'horizontal',

}

export default Menu
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空