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};
> {
render() {
const newProps = {...this.props};
// Remove menuType from props to avoid error message in the console. // Remove menuType from props to avoid error message in the console.
delete newProps.menuType; delete newProps.menuType;
return ( return (
<> <>
{this.props.menuType === MenuType.Menu ? ( {props.menuType === MenuType.Menu ? (
<Menu.Item {...newProps}>{this.props.children}</Menu.Item> <Menu.Item {...newProps}>{props.children}</Menu.Item>
) : ( ) : (
<Dropdown.Item {...newProps}>{this.props.children}</Dropdown.Item> <Dropdown.Item {...newProps}>{props.children}</Dropdown.Item>
)} )}
</> </>
); );
}
} }