--- category: Components group: Navigation title: Breadcrumb cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*I5a2Tpqs3y0AAAAAAAAAAAAADrJ8AQ/original coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*Tr90QKrE_LcAAAAAAAAAAAAADrJ8AQ/original demo: cols: 2 --- A breadcrumb displays the current location within a hierarchy. It allows going back to states higher up in the hierarchy. ## When To Use - When the system has more than two layers in a hierarchy. - When you need to inform the user of where they are. - When the user may need to navigate back to a higher level. ```jsx // works when >=5.3.0, recommended βœ… return ; // works when <5.3.0, deprecated when >=5.3.0 πŸ™…πŸ»β€β™€οΈ return ( sample ); // or return ; ``` ## Examples Basic Usage With an Icon Configuring the Separator Bread crumbs with drop down menu Configuring the Separator Independently Debug Routes Component Token ## API Common props ref:[Common props](/docs/react/common-props) ### Breadcrumb | Property | Description | Type | Default | Version | | --- | --- | --- | --- | --- | | itemRender | Custom item renderer | (route, params, routes, paths) => ReactNode | - | | | params | Routing parameters | object | - | | | items | The routing stack information of router | [ItemType\[\]](#ItemType) | - | 5.3.0 | | separator | Custom separator | ReactNode | `/` | | ### ItemType > type ItemType = Omit<[RouteItemType](#RouteItemType), 'title' | 'path'> | [SeparatorType](#SeparatorType) ### RouteItemType | Property | Description | Type | Default | Version | | --- | --- | --- | --- | --- | | className | The additional css class | string | - | | | dropdownProps | The dropdown props | [Dropdown](/components/dropdown) | - | | | href | Target of hyperlink. Can not work with `path` | string | - | | | path | Connected path. Each path will connect with prev one. Can not work with `href` | string | - | | | menu | The menu props | [MenuProps](/components/menu/#api) | - | 4.24.0 | | onClick | Set the handler to handle click event | (e:MouseEvent) => void | - | | | title | item name | ReactNode | - | | ### SeparatorType ```ts const item = { type: 'separator', // Must have separator: '/', }; ``` | Property | Description | Type | Default | Version | | --------- | ----------------- | ----------- | ------- | ------- | | type | Mark as separator | `separator` | | 5.3.0 | | separator | Custom separator | ReactNode | `/` | 5.3.0 | ### Use with browserHistory The link of Breadcrumb item targets `#` by default, you can use `itemRender` to make a `browserHistory` Link. ```jsx import { Link } from 'react-router'; const items = [ { path: '/index', title: 'home', }, { path: '/first', title: 'first', children: [ { path: '/general', title: 'General', }, { path: '/layout', title: 'Layout', }, { path: '/navigation', title: 'Navigation', }, ], }, { path: '/second', title: 'second', }, ]; function itemRender(currentRoute, params, items, paths) { const isLast = currentRoute?.path === items[items.length - 1]?.path; return isLast ? ( {currentRoute.title} ) : ( {currentRoute.title} ); } return ; ``` ## Design Token