从umi文档中看到的这个推荐使用面包屑插件,体验不错,记录一下使用。
直接上代码,可以作为一个组件加在任何地方,具体使用看文档---点这里
import style from './bc.scss'
import withBreadcrumbs from 'react-router-breadcrumbs-hoc';
import Link from 'umi/link';
const DynamicUserBreadcrumb = ({ match, location }) => (
<span>{location.query.id ? '用户信息修改' : '新增用户'}</span>
);
// 可拓展性而言,面包屑和权限管理全局对象,需要后端返回, 当国际化的情况下语言前缀要加上。
const routes = [
{ path: '/zh_CN/userManagement', breadcrumb: '用户管理' },
{ path: '/zh_CN/userManagement/Detail', breadcrumb: DynamicUserBreadcrumb },
];
const excludePaths = ['/', '/zh_CN'];
const Breadcrumbs = ({ breadcrumbs }) => (
<div className={style.Breadcrumb}>
{breadcrumbs.map((bc, index) => (
<span key={bc.match.url}>
<Link
to={{
pathname: bc.match.url,
state: bc.match.params ? bc.match.params : {},
query: bc.location.query ? bc.location.query : {},
}}
>
{bc.breadcrumb}
</Link>
{index < breadcrumbs.length - 1 && <i> / </i>}
</span>
))}
</div>
);
export default withBreadcrumbs(routes, {excludePaths})(Breadcrumbs);