mirror of
https://github.com/PeWu/topola-viewer.git
synced 2026-04-20 21:46:17 +00:00
Refactored MenuItem from class-based to functional component
This commit is contained in:
@@ -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>
|
);
|
||||||
)}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user