根据之前“如何阅读源码”的脑图所述,阅读源码之前先了解关于源码的基础知识。所以RC系列是什么?
RC系列
RC 即 React components
的简称,如 github地址中所描述的那样:
React components foundation of http://ant.design
RC 是著名的蚂蚁金服开源React组件库的基础组件。
Why?
那么为什么会有RC系列呢? 我理解RC作为React的基础组件,其最重要的是定义组件的功能和交互,而不太在乎组件的样式,而 Ant Design 是在其基础上进行封装和包装,使他更易用,视觉效果更好。
有RC以及一套UI设计,你也可以造一个 类AntD 的组件库出来。
代码结构
RC代码是分散的,每个RC组件各自是一个包,因此要阅读代码的话也是一个一个的阅读。以 rc-tooltip 为例,其代码目录为:
.
├── HISTORY.md
├── LICENSE
├── README.md
├── assets
│ ├── boostrap
│ │ └── anim.less
│ ├── bootstrap.less
│ └── bootstrap_white.less
├── examples
│ ├── arrowContent.html
│ ├── arrowContent.js
│ ├── formError.html
│ ├── formError.js
│ ├── onVisibleChange.html
│ ├── onVisibleChange.js
│ ├── placement.html
│ ├── placement.js
│ ├── simple.html
│ └── simple.js
├── package.json
├── src
│ ├── Content.js
│ ├── Tooltip.jsx
│ ├── index.js
│ └── placements.js
└── tests
├── __mocks__
│ └── rc-trigger.js
├── index.test.js
└── setup.js
每个组件承载的功能不是很复杂,刨去其他没有用的目录,核心在于 src 文件夹下的4个文件。
src
│ ├── Content.js
│ ├── Tooltip.jsx
│ ├── index.js
│ └── placements.js
Run起来
$ tnpm run dev
$ tnpm run start
运行起来之后,打开 http://localhost:8007/examples/arrowContent.html#
,