antd
Version:
An enterprise-class UI design language and React components implementation
41 lines (40 loc) • 757 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useItems;
var _react = require("react");
function route2item(route) {
const {
breadcrumbName,
children,
...rest
} = route;
const clone = {
title: breadcrumbName,
...rest
};
if (children) {
clone.menu = {
items: children.map(({
breadcrumbName: itemBreadcrumbName,
...itemProps
}) => ({
...itemProps,
title: itemBreadcrumbName
}))
};
}
return clone;
}
function useItems(items, routes) {
return (0, _react.useMemo)(() => {
if (items) {
return items;
}
if (routes) {
return routes.map(route2item);
}
return null;
}, [items, routes]);
}