antd 英文_Antd源码浅析之Icon组件

本文深入分析Ant Design 3.4.4版本的Icon组件源码,探讨其目录结构、核心代码、classNames和omit.js的使用,以及属性校验。通过源码阅读,了解Antd组件的设计思路和React组件的最佳实践。
摘要由CSDN通过智能技术生成

f882e29d183894d85a40386224b5a316.png

前言

最近在写B端的项目,用到了Ant Design ,清爽而优雅。故想深入源码了解一二,但鉴于技术浅薄,不敢深究,故写浅析,不喜勿喷,对其中的组件做一些分析,主要目的有两个:

  • 学习 Ant Design 的工程设计思路
  • 思考怎样写出优秀的 React 组件

本文是基于 Ant Design3.4.4 的源码分析,读者需要具备基本的 JavaScript、React 知识,对于Antd(以下用Antd表示Ant Design),蚂蚁官网给出的定位是"一个服务于企业级产品的设计体系",确实,我们的实际使用场景,大多是写一些后台页面,如 CMS 。当下的 Antd 比之 React ,就像 Bootstrap 比之 jQuery ,同样Vue也不乏有 Element UI 之类的搭档。

Antd源码 是基于 Typescript(系出微软,是 JavaScript 的一个类型超集,包含它自己的编译器,是一种类型化语言),如果有阅读过 Vue 源码的的同学肯定也会发现,Vue 中使用了 Flow来做同样的事,即静态类型检查。JavaScript 是弱类型语言,很多大型库都加入了 Flow 或者 Typescript,严谨为之。

目录结构

打开Antd源码目录,结构还是比较简洁:

66235c8dcf3288b78b38dc89ec109d9f.png

平时所用到的组件全部位于 components 文件夹下,首先我们分析一个简单的组件 Icon,打开 components/icon ,目录结构如下:

91c6b874d06eb9768578999aa48e14a4.png

这里不得不说Antd的文档是很友好的,目录内的以 .md 结尾的文件给出了中英文的使用说明,也就是我们在在其官网看到的说明文档。

代码

Icon的核心代码位于 index.tsx 内,这里说明一下,对于不熟悉Typescript的同学来说这个文件类型可能有些陌生,Typescript主要是丰富了JavaScript的内容和加入了静态类型检查,一般的Typescript文件是以 .ts 结尾,但相对于React的jsx文件,Typescript产生了 .tsx 的文件,其实就是Typescript的jsx写法,实际生产环境中,最终都要编译成 .js 文件。

以下是Icon组件中 index.tsx 的全部源码:

import * as React from 'react';
import classNames from 'classnames
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值