Refactored MenuItem from class-based to functional component

This commit is contained in:
Przemek Wiech
2021-11-02 00:26:00 +01:00
parent e444e25177
commit 9d8bd01a14

View File

@@ -1,4 +1,3 @@
import * as React from 'react';
import { import {
Menu, Menu,
Dropdown, Dropdown,
@@ -15,21 +14,17 @@ interface Props {
menuType?: MenuType; menuType?: MenuType;
} }
export class MenuItem extends React.Component< export function MenuItem(props: Props & MenuItemProps & DropdownItemProps) {
Props & MenuItemProps & DropdownItemProps const newProps = {...props};
> { // Remove menuType from props to avoid error message in the console.
render() { delete newProps.menuType;
const newProps = {...this.props}; return (
// Remove menuType from props to avoid error message in the console. <>
delete newProps.menuType; {props.menuType === MenuType.Menu ? (
return ( <Menu.Item {...newProps}>{props.children}</Menu.Item>
<> ) : (
{this.props.menuType === MenuType.Menu ? ( <Dropdown.Item {...newProps}>{props.children}</Dropdown.Item>
<Menu.Item {...newProps}>{this.props.children}</Menu.Item> )}
) : ( </>
<Dropdown.Item {...newProps}>{this.props.children}</Dropdown.Item> );
)}
</>
);
}
} }