内容简介:暴露的比如 :
React 16.4 / UmiJS 2.2 / Antd 3.x / react-router-breadcrumbs-hoc 2.x : API简洁易懂
效果图
- 非
antd风格
-
antd风格
源码及实现
暴露的 props :
-
data: 面包屑的映射关系,数组(react-router-breadcrumbs-hoc要求的那种)
比如 : const routes = [{ path: '/', breadcrumb: '首页' }] ;
若是不传递的情况下,高阶组件( react-router-breadcrumbs-hoc )会自动获取路径名字为面包屑的名字
Breakcrumbs
import Link from 'umi/link';
import withBreadcrumbs from 'react-router-breadcrumbs-hoc';
import { Breadcrumb, Badge, Icon } from 'antd';
// 更多配置请移步 https://github.com/icd2k3/react-router-breadcrumbs-hoc
const routes = [{ path: '/', breadcrumb: '首页' }];
const Breadcrumbs = ({ data }) => {
if (data && Array.isArray(data)) {
const AntdBreadcrumb = withBreadcrumbs(data)(({ breadcrumbs }) => {
return (
<Breadcrumb separator={<Icon type="double-right" />} classNames="spread">
{breadcrumbs.map((breadcrumb, index) => (
<Breadcrumb.Item key={breadcrumb.key}>
{breadcrumbs.length - 1 === index ? (
<Badge status="processing" text={breadcrumb} />
) : (
<Link
to={{
pathname: breadcrumb.props.match.url,
state: breadcrumb.props.match.params ? breadcrumb.props.match.params : {},
query: breadcrumb.props.location.query ? breadcrumb.props.location.query : {},
}}
>
{breadcrumb}
</Link>
)}
</Breadcrumb.Item>
))}
</Breadcrumb>
);
});
return <AntdBreadcrumb />;
}
const DefaultBreadcrumb = withBreadcrumbs(routes)(({ breadcrumbs }) => (
<div>
{breadcrumbs.map((breadcrumb, index) => (
<span key={breadcrumb.key}>
<Link
to={{
pathname: breadcrumb.props.match.url,
state: breadcrumb.props.match.params ? breadcrumb.props.match.params : {},
query: breadcrumb.props.location.query ? breadcrumb.props.location.query : {},
}}
>
{breadcrumb}
</Link>
{index < breadcrumbs.length - 1 && <i> / </i>}
</span>
))}
</div>
));
return <DefaultBreadcrumb />;
};
export default Breadcrumbs;
复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First JavaScript Programming
Eric T. Freeman、Elisabeth Robson / O'Reilly Media / 2014-4-10 / USD 49.99
This brain-friendly guide teaches you everything from JavaScript language fundamentals to advanced topics, including objects, functions, and the browser’s document object model. You won’t just be read......一起来看看 《Head First JavaScript Programming》 这本书的介绍吧!