Files
ota-admin-portal/src/components/ListItemLink.jsx
Alexander Andrews 61982c4ba5 CEC-3071: Fixed Duplicate datascope menu (#232)
* CEC-3071: Fixed Duplicate datascope menu

* Mde item type dynamic

Co-authored-by: Alexander Andrews <aandrews@fiskerinc.com>
2022-11-07 09:38:32 -08:00

37 lines
906 B
JavaScript

import React from "react";
import PropTypes from "prop-types";
import ListItem from "@material-ui/core/ListItem";
import ListItemIcon from "@material-ui/core/ListItemIcon";
import ListItemText from "@material-ui/core/ListItemText";
import { Link as RouterLink } from "react-router-dom";
function ListItemLink(props) {
const { icon, primary, to } = props;
const renderLink = React.useMemo(
() => {
if (to) {
return React.forwardRef((itemProps, ref) => (
<RouterLink to={to} ref={ref} {...itemProps} />
))
}
},
[to]
);
return (
<ListItem button component={renderLink}>
{icon ? <ListItemIcon>{icon}</ListItemIcon> : null}
<ListItemText primary={primary} />
</ListItem>
);
}
ListItemLink.propTypes = {
icon: PropTypes.element,
primary: PropTypes.string.isRequired,
to: PropTypes.string,
};
export default ListItemLink;