人工精选Typescript + React 高仿 Antd 从零到一打造自己的组件库 完整无加密
先说结论:这门课解决的是「会写业务组件,但搭不出组件库」的断层 大多数人用 React 写了几年业务,Button、Modal、Form 这些组件天天用,但真被问到「一个组件库是怎么组织的」,往往答不上来。比如:组件类型定义怎么对外暴露?主题变量怎么做到可替换?一个 Select 的弹出层为什么不会
会员可免费下载本篇月会员可免费领取。
开通会员 ›会员 · 按档位
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
先说结论:这门课解决的是「会写业务组件,但搭不出组件库」的断层
大多数人用 React 写了几年业务,Button、Modal、Form 这些组件天天用,但真被问到「一个组件库是怎么组织的」,往往答不上来。比如:组件类型定义怎么对外暴露?主题变量怎么做到可替换?一个 Select 的弹出层为什么不会被子元素 overflow 裁掉?这些问题在业务里可以绕过去,但一动手写组件库就绕不过去。
这门课选的路子比较直接:以 Antd 为目标形态,用 TypeScript + React 从零把一个组件库搭出来。它不教你怎么用 Antd,而是拆开看 Antd 那类东西内部是怎么长出来的——这恰好是业务开发和基础设施开发之间那道坎。如果你只是想快速做个后台页面,这门课不是最省时间的选项;如果你打算从前端业务往工程化、基础组件方向挪一步,它的针对性比较强。
学完能独立做什么
按课程推进的深度,比较现实的产出是:你能自己搭一套可发布的组件库骨架,包含构建产物(ESM/CJS/类型声明)、按需加载、样式方案、本地开发调试环境,并且能往里持续添加组件而不是每加一个就重构一次目录。
- 能独立实现 Button、Input、AutoComplete、Select、Upload 这类有交互状态、有关联逻辑的组件,而不是只会写无状态展示组件。
- 能处理组件库特有的问题:受控与非受控、forwardRef 转发、children 类型约束、样式隔离、多实例共存。
- 能配好一套能打包、能出类型文件、能在另一个项目里 npm link 试用的工程链路。
- 能读懂 Antd 源码的结构,遇到问题时知道该去哪一层找答案。
需要说明的是,学完不等于能写出 Antd。Antd 是多年迭代的产物,课程给的是骨架和关键实现思路,剩下的靠你自己往里填。这一点提前想清楚,预期就不会跑偏。
资料适合什么基础
至少要满足两条:React 用过至少一个完整项目,Hooks、props 传参、状态提升这些不陌生;TypeScript 写过基础类型标注,能看懂 interface、泛型的基本用法。两条里缺一条,前期会明显吃力——这不是吓人,是这类课程的教学节奏决定的,它默认你有业务经验。
反过来,如果你已经写过组件库、只是想补某一块(比如构建配置或类型导出),那更适合按需跳着看对应章节,不必从头顺下来。
资料怎么用效率更高
别只看,跟着敲
组件库这门东西,看懂和写出来之间差距极大。样式优先级、类型报错、打包后引用失效,这些问题只有自己动手才会撞上。建议每讲一个组件,先关掉视频自己写一遍,卡住了再回头看,比一路跟着敲印象深得多。
把笔记当索引,不要当教材
配套笔记的合理定位是课后回忆和面试前过一遍,用来确认「这个点我是不是漏了」,而不是替代动手。真按笔记背下来,遇到实际报错还是不会修。
最后一定要有一个自己的 Demo
课程结束后,挑三到四个组件,脱离课程代码重写一遍,放到自己的仓库里,配上 README 说明设计取舍。面试时能讲清楚「为什么这个组件的状态放在这一层」,比简历上写「熟悉 React 组件化开发」有说服力得多。
如果时间有限,优先保证构建链路和两三个复杂组件吃透,剩下的用到再补。贪多嚼不烂,在组件库这个方向上尤其明显。
全网唯一的 Typescript 和 React 全流程开发UI组件库的课程
课程推荐
《Typescript + React 高仿 Antd 从零到一打造自己的组件库 完整无加密》全网唯一的 Typescript 和 React 全流程开发UI组件库的课程【技能收获】学完可掌握:Vue / 前端工程化、React 前端。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。
视频目录(121 节)
课程目录
* 1-1 导学(不看错过1个亿).mp4
* 1-2 代码库使用注意事项(必看).mp4
* 2-1 什么是 Typescript.mp4
* 2-2 为什么要使用 Typescript.mp4
* 2-3 安装和初试 Typescript.mp4
* 2-4 基础类型.mp4
* 2-5 any 类型和联合类型.mp4
* 2-6 Array 和 Tuple.mp4
* 2-7 interface 初探.mp4
* 2-8 函数和类型推断.mp4
* 2-9 类(Class)第一部分.mp4
* 2-10 类(Class)第二部分.mp4
* 2-11 类和接口.mp4
* 2-12 枚举(Enum).mp4
* 2-13 泛型(Generics) 第一部分.mp4
* 2-14 泛型(Generics) 第二部分 - 约束泛型.mp4
* 2-15 泛型(Generics) 第三部分 - 类和接口.mp4
* 2-16 类型别名和类型断言.mp4
* 2-17 声明文件.mp4
* 3-1 React简介和基础知识回顾.mp4
* 3-2 配置 react 开发环境.mp4
* 3-3 第一个组件 - ts为组件助力.mp4
* 3-4 什么是 和 为什么要使用 React Hook.mp4
* 3-5 在函数组件使用 state - useState Hook.mp4
* 3-6 useEffect 第一部分 - 初出茅庐.mp4
* 3-7 useEffect 第二部分 - 有始有终.mp4
* 3-8 useEffect 第三部分 - 控制运行.mp4
* 3-9 自定义 Hook - 重构 MouseTracker.mp4
* 3-10 自定义 Hook 第二部分 - HOC的劣势.mp4
* 3-11 自定义 hook 第三部分 - 正确的方式完成 URLLoader.mp4
* 3-12 useRef - state遇到的难题.mp4
* 3-13 useRef - 多次渲染之间的纽带.mp4
* 3-14 useContext - 解决多层传递属性的灵丹妙药.mp4
* 3-15 hook 规则和其他 hook.mp4
* 4-1 组件库开始起航 - 需求分析.mp4
* 4-2 文件结构和代码规范.mp4
* 4-3 样式解决方案分析.mp4
* 4-4 做一次设计师 - 添加自己的色彩体系.mp4
* 4-5 更多样式变量 - 添加字体变量解决方案.mp4
* 4-6 初次亮相 - 添加 normalize.css.mp4
* 4-7 Button 组件需求分析.mp4
* 4-8 小试牛刀 - Button 组件编码 第一部分.mp4
* 4-9 添加 Button 基本样式.mp4
* 4-10 升级 Button 组件样式.mp4
* 4-11 精益求精 - Buton 组件编码第二部分.mp4
* 5-1 为什么要有测试.mp4
* 5-2 通用测试框架 Jest 出场.mp4
* 5-3 React 测试工具 - react-testing-library.mp4
* 5-4 添加Button 测试代码 第一部分.mp4
* 5-5 添加Button 测试代码 第二部分.mp4
* 6-1 Menu 组件需求分析.mp4
* 6-2 基础架构 - Menu组件编码第一部分.mp4
* 6-3 需求升级 - Menu 组件编码第二部分.mp4
* 6-4 添加 Menu 样式.mp4
* 6-5 测试驱动 - Menu 测试添加.mp4
* 6-6 日趋完美 - Menu 组件编码第三部分.mp4
* 6-7 功能继续升级 - SubMenu 下拉菜单编码第一部分.mp4
* 6-8 添加交互 - SubMenu下拉菜单编码第二部分.mp4
* 6-9 大功告成 - SubMenu 下拉菜单编码第三部分.mp4
* 6-10 完美组件 - SubMenu 组件添加测试.mp4
* 7-1 图标解决方案简介.mp4
* 7-2 他山之石 - Icon组件编码第一部分.mp4
* 7-3 Icon 组件样式添加.mp4
* 7-4 让图标动起来 - 动画效果第一种实现方法.mp4
* 7-5 React Transition Group 简介.mp4
* 7-6 React Transition Group 实践 - 动画效果第二种实现方式.mp4
* 7-7 尽善尽美 - React Transition Group 添加菜单消失的动画.mp4
* 7-8 拿来主义 - 自定义 Transition 组件编码第一部分.mp4
* 7-9 拿来主义 - 自定义 Transition 组件编码第二部分.mp4
* 8-1 什么是 Storybook.mp4
* 8-2 安装 Stroybook.mp4
* 8-3 Storybook 支持 Typescript.mp4
* 8-4 展示秀- 为 Button 添加 Story.mp4
* 8-5 如虎添翼 - Stroybook addon插件系统介绍.mp4
* 8-6 更多信息 - 添加 Storybook addon-info 插件.mp4
* 8-7 自动生成文档 - 添加 react-docgen-typescript 第一部分.mp4
* 8-8 自动生成文档 - 添加 react-docgen-typescript 第二部分.mp4
* 8-9 大功告成 - Storybook 最终样式调整.mp4
* 9-1 知己知彼 -Input 组件需求分析.mp4
* 9-2 抛砖引玉 - Input 组件伪代码实现.mp4
* 9-3 持续优化 - Input组件代码实现和优化过程.mp4
* 9-4 新的挑战 - AutoComplete组件分析.mp4
* 9-5 基本骨架 - AutoComplete 编码第一部分.mp4
* 9-6 AutoComplete 支持自定义模版.mp4
* 9-7 异步来了 - AutoComplete 支持异步请求编码.mp4
* 9-8 老瓶新酒 - 使用自定义Hook实现 函数防抖.mp4
* 9-9 AutoComplete 支持键盘事件.mp4
* 9-10 妙用 useRef - 实现 clickOutSide 功能-.mp4
* 9-11 完美收尾 - AutoComplete 添加单元测试.mp4
* 10-1 最终任务 - Upload组件需求分析.mp4
* 10-2 下一代 HTTP 库 - axios.mp4
* 10-3 在线 mock server 和 axios 简单使用.mp4
* 10-4 上传文件的基本方式.mp4
* 10-5 完成基本流程 - Upload 组件编码第一部分.mp4
* 10-6 完善生命周期 - Upload 组件编码第二部分.mp4
* 10-7 创建列表数据 - UploadList 组件编码第一部分.mp4
* 10-8 显示上传数据 - UploadList 组件编码第二部分.mp4
* 10-9 显示上传进度 - 添加 Progress 组件.mp4
* 10-10 精益求精 - 再次分析 Upload 组件更近一步需求.mp4
* 10-11 Upload 增强交互第一部分.mp4
* 10-12 拖动上传 - 支持 Drag and Drop.mp4
* 10-13 异步怎样测试? - Upload 测试第一部分.mp4
* 10-14 拖动事件怎样测试? - Upload 测试第二部分.mp4
* 11-1 Javascript模块化发展历史.mp4
* 11-2 webpack 到底完成什么任务? - bundler的神奇功效.mp4
* 11-3 怎样选择 Javascript 模块格式?.mp4
* 11-4 创建组件库模块入口文件.mp4
* 11-5 驯服tsc - tsconfig 编写第一部分.mp4
* 11-6 驯服 tsc - tsconfig 编写第二部分.mp4
* 11-7 生成最终使用的样式文件.mp4
* 11-8 使用 npm link 本地测试组件库 第一部分.mp4
* 11-9 使用 npm link 本地测试组件库 第二部分.mp4
* 12-1 Npm 简介.mp4
* 12-2 发布组件库到 npm.mp4
* 12-3 瘦身任务 - 精简 package.json 依赖.mp4
* 12-4 万无一失 - 添加发布和 commit 前检查.mp4
* 12-5 使用 Storybook 生成静态文档页面.mp4
* 12-6 CI CD 简介.mp4
* 12-7 使用 travis 自动运行测试.mp4
* 12-8 使用 travis 自动发布文档页面.mp4
* 13-1 课程总结.mp4





