import * as React from 'react'; import * as PropTypes from 'prop-types'; import { ConfigConsumer, ConfigConsumerProps } from '../config-provider'; export interface BreadcrumbItemProps { prefixCls?: string; separator?: React.ReactNode; href?: string; } export default class BreadcrumbItem extends React.Component { static __ANT_BREADCRUMB_ITEM = true; static defaultProps = { separator: '/', }; static propTypes = { prefixCls: PropTypes.string, separator: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), href: PropTypes.string, }; renderBreadcrumbItem = ({ getPrefixCls }: ConfigConsumerProps) => { const { prefixCls: customizePrefixCls, separator, children, ...restProps } = this.props; const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls); let link; if ('href' in this.props) { link = ( {children} ); } else { link = ( {children} ); } if (children) { return ( {link} {separator} ); } return null; }; render() { return {this.renderBreadcrumbItem}; } }