From a2aadb3fa8273cf39e03227c9b00eb2a5b1f8df0 Mon Sep 17 00:00:00 2001 From: Guo Yunhe Date: Fri, 26 Dec 2025 10:51:07 +0800 Subject: [PATCH] refactor(Breadcrumb): restructure Breadcrumb component to use compounded components for Item and Separator (#55892) --- components/breadcrumb/Breadcrumb.tsx | 5 +---- components/breadcrumb/index.tsx | 14 +++++++++++++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/components/breadcrumb/Breadcrumb.tsx b/components/breadcrumb/Breadcrumb.tsx index 897988366e..b545aa34b7 100755 --- a/components/breadcrumb/Breadcrumb.tsx +++ b/components/breadcrumb/Breadcrumb.tsx @@ -13,7 +13,7 @@ import type { DropdownProps } from '../dropdown'; import type { BreadcrumbContextProps } from './BreadcrumbContext'; import BreadcrumbContext from './BreadcrumbContext'; import type { BreadcrumbItemProps } from './BreadcrumbItem'; -import BreadcrumbItem, { InternalBreadcrumbItem } from './BreadcrumbItem'; +import { InternalBreadcrumbItem } from './BreadcrumbItem'; import BreadcrumbSeparator from './BreadcrumbSeparator'; import useStyle from './style'; import useItemRender from './useItemRender'; @@ -295,9 +295,6 @@ const Breadcrumb = (props: BreadcrumbProps) ); }; -Breadcrumb.Item = BreadcrumbItem; -Breadcrumb.Separator = BreadcrumbSeparator; - if (process.env.NODE_ENV !== 'production') { Breadcrumb.displayName = 'Breadcrumb'; } diff --git a/components/breadcrumb/index.tsx b/components/breadcrumb/index.tsx index 202800b19c..29a14261b3 100644 --- a/components/breadcrumb/index.tsx +++ b/components/breadcrumb/index.tsx @@ -1,6 +1,18 @@ -import Breadcrumb from './Breadcrumb'; +import InternalBreadcrumb from './Breadcrumb'; +import BreadcrumbItem from './BreadcrumbItem'; +import BreadcrumbSeparator from './BreadcrumbSeparator'; export type { BreadcrumbProps } from './Breadcrumb'; export type { BreadcrumbItemProps, SeparatorType } from './BreadcrumbItem'; +type CompoundedComponent = typeof InternalBreadcrumb & { + Item: typeof BreadcrumbItem; + Separator: typeof BreadcrumbSeparator; +}; + +const Breadcrumb = InternalBreadcrumb as CompoundedComponent; + +Breadcrumb.Item = BreadcrumbItem; +Breadcrumb.Separator = BreadcrumbSeparator; + export default Breadcrumb;