react-router-breadcrumbs-hoc的应用

本文介绍在Umi框架中如何使用面包屑插件进行导航,通过代码示例展示了如何配置和自定义面包屑组件,适用于各种页面布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从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>&nbsp;/&nbsp;</i>}
      </span>
    ))}
  </div>
);

export default withBreadcrumbs(routes, {excludePaths})(Breadcrumbs);

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值