import React, { useMemo } from 'react'; import { LinkTarget } from '../link/LinkConstants'; import { withStaticProps } from '../../types'; import { RelatedComponentsContext } from './related-components-context'; import styles from './related-components.module.scss'; interface RelatedComponentsProps { componentsNames: string[]; descriptionComponentsMap: Map; linkTarget?: LinkTarget; } const RelatedComponents: React.FC & { linkTargets?: typeof LinkTarget } = ({ componentsNames = [], descriptionComponentsMap, linkTarget, }) => { const componentsDataElements = useMemo( () => componentsNames.map((componentName, index) => { const key = `${componentName}_${index}`; return
{descriptionComponentsMap.get(componentName)}
; }), [componentsNames, descriptionComponentsMap], ); return (
{componentsDataElements}
); }; export default withStaticProps(RelatedComponents, { linkTargets: LinkTarget });