React+TypeScript高仿AntDesign开发企业级UI组件库

  [复制链接]
查看7390 | 回复15 | 2021-11-22 08:23:12 | 显示全部楼层 |阅读模式
16491213136239.png
$ [% w) |; t1 ?5 T$ @* v, `; K; f6 r4 O5 o$ R
〖课程介绍〗8 S9 K& L' U3 x
从零到一高仿 AntD 使用 Typescript 和 React 开发组件库,在这其中穿插了一系列的知识点: 大型项目的样式组织,react 组件测试,react 动画实现。开发完毕还实现了模块化打包,代码发布再到 CI/CD 的全流程。
. U; o( g2 F# z' U" {( e
/ ]7 X/ A" h0 q- N' K( p: K# O〖课程目录〗7 p  J/ ?) F1 c! Q7 W
第1章 课程导学(此章节必看) 试看8 a- g: m; ^! R
1-1 导学(不看错过1个亿) (16:40)试看/ `5 D+ @" b( l1 \; J
1-2 代码库使用注意事项(必看) (04:33)
1 I, E6 H$ _" D4 D, }) W
9 [. F1 L1 C! ~& Q5 t  X2 J第2章 欢迎来到类型的世界 - Typescript 试看" n5 F( Y% \. z5 I  a# h/ p
2-1 什么是 Typescript (05:46)试看, T) _; @/ I4 B8 L0 J6 T
2-2 为什么要使用 Typescript (04:56)/ G7 T  p/ M+ q3 i  R* n3 |
2-3 安装和初试 Typescript (07:06)- P) {5 f; r8 H: g5 K
2-4 基础类型 (05:54)
+ U3 W) T* Q9 c5 r) F2-5 any 类型和联合类型 (04:25)
( h+ Q5 b# J# ^% y" E$ h2-6 Array 和 Tuple (06:05)9 i, E. T, ]" x4 w2 z: K2 ^  `$ S
2-7 interface 初探 (06:32)
5 O) l) G8 w; k2-8 函数和类型推断 (08:06); D- b- D9 w$ @5 H/ G0 S' v
2-9 类(Class)第一部分 (09:37)' e- b2 e! P$ |8 `1 k- ?
2-10 类(Class)第二部分 (06:35)& d6 Y) H" Y& K8 f  N6 F
2-11 类和接口 (07:07)* c" x0 w, o7 X: j+ m% g# ~  X) S
2-12 枚举(Enum) (07:08)
* ]1 n9 Y' b8 @# f4 y2-13 泛型(Generics) 第一部分 (07:30); ~1 @% t, K' N' \7 x
2-14 泛型(Generics) 第二部分 - 约束泛型 (06:23)
/ O6 f- y8 k/ D$ J' V+ d# O0 {2-15 泛型(Generics) 第三部分 - 类和接口 (12:37)
% [+ L: t$ {& G% @2-16 类型别名和类型断言 (08:57)$ h: A) j( I# S. n, b. @
2-17 声明文件 (06:09)
, f+ `! D/ i6 ]
' i3 L+ S) o: }/ k第3章 神奇的 React 配合 typescript,完美输出
: j8 e7 e/ J0 q% u* A9 `4 y3-1 React简介和基础知识回顾 (14:39)  U, w4 q( \6 N/ \0 L
3-2 配置 react 开发环境 (08:50)
. |& V( {, \4 k; E! M. X, e3-3 第一个组件 - ts为组件助力 (06:26), n4 X6 T# b9 ]
3-4 什么是 和 为什么要使用 React Hook (07:25)
% D- r! g- k$ n0 n3 ^; m3-5 在函数组件使用 state - useState Hook (09:10)- e4 c$ E4 ^% a
3-6 useEffect 第一部分 - 初出茅庐 (05:31)' q, u2 n" Z0 p/ F' x7 O
3-7 useEffect 第二部分 - 有始有终 (08:18)
! _! V3 J  ~, z$ L, A1 l3-8 useEffect 第三部分 - 控制运行 (06:52)
! L8 _7 J) c4 a. Q3-9 自定义 Hook - 重构 MouseTracker (06:48)2 Z' y, H. e: }, x5 j9 y$ S: W
3-10 自定义 Hook 第二部分 - HOC的劣势 (08:10)! _8 `: |1 c4 p3 G; q2 ~$ P9 M: t
3-11 自定义 hook 第三部分 - 正确的方式完成 URLLoader (07:39)5 @& ~* P4 h7 D  r
3-12 useRef - state遇到的难题 (05:08)/ M3 a7 l5 a& J% |
3-13 useRef - 多次渲染之间的纽带 (07:30), y: u( m7 [+ ]3 e
3-14 useContext - 解决多层传递属性的灵丹妙药 (10:27)4 ?3 l+ m2 C4 L0 y3 S# n( ?
3-15 hook 规则和其他 hook (03:52)2 j% _' a. S) j

+ I$ g3 S% C- M0 x/ h第4章 组件库起航 - 你真的能写的好看起来简单的 Button 组件吗? 试看5 j4 F& {0 H( @8 E. b
4-1 组件库开始起航 - 需求分析 (05:28)
7 I8 n$ J" N9 h' m6 ^4-2 文件结构和代码规范 (09:17)
8 v! b4 I+ z/ P+ q& b+ _5 p4-3 样式解决方案分析 (07:37)
+ `- L% x8 M- [4-4 做一次设计师 - 添加自己的色彩体系 (07:02): U9 s, F9 U  c. M1 E) f
4-5 更多样式变量 - 添加字体变量解决方案 (07:10)
( L7 [1 k5 T7 d# z. i4-6 初次亮相 - 添加 normalize.css (09:06)4 e! T9 k, k6 b4 Q- |
4-7 Button 组件需求分析 (04:58)
" }6 }2 p: B9 t6 O$ {) Z4-8 小试牛刀 - Button 组件编码 第一部分 (14:18)
$ W) o' {( }$ [8 I3 b4-9 添加 Button 基本样式 (10:07)
- x9 f  h1 ^$ X4-10 升级 Button 组件样式 (12:32)- t& E. w8 J( q, }# `% B& l
4-11 精益求精 - Buton 组件编码第二部分 (08:01)试看
, c* y' |4 H/ O: m1 t  w4-12 完成 Alert 组件
! u% c+ f' s6 d9 B2 x, ^
6 h3 \6 k; N6 L+ i第5章 组件测试
% u. V# [1 J2 U: u& C  c5-1 为什么要有测试 (07:26)
2 C- [/ j+ T9 w0 K( b5-2 通用测试框架 Jest 出场 (09:36)
) e$ M  U4 v* K& p1 r: e' D5-3 React 测试工具 - react-testing-library (09:17)
3 s; w! j# x4 ~5-4 添加Button 测试代码 第一部分 (10:33)+ ?! j( n* q0 p( g2 Q- R
5-5 添加Button 测试代码 第二部分 (10:49)
; H' x' s2 O/ o3 e$ a/ J5-6 Alert 组件添加测试用例
. c" [" T: L* Y  ?4 E
' Q7 [3 j! J7 ^6 _4 o# p第6章 更上一层楼 - 完成 Menu 组件. U& |, X' p% g- r- ~
6-1 Menu 组件需求分析 (07:17)
5 X/ k& A! K9 |9 P* c$ A$ ]% \6-2 基础架构 - Menu组件编码第一部分 (10:35)* o+ g- I2 U5 m4 ~( m7 v
6-3 需求升级 - Menu 组件编码第二部分 (11:09)
6 A; C* y# ^) T# {) W) _6-4 添加 Menu 样式 (10:21)3 {. C; i  Y. k' A$ L9 o
6-5 测试驱动 - Menu 测试添加 (17:32)
, ]" h0 ]- a  Y( w6 t- x8 }6-6 日趋完美 - Menu 组件编码第三部分 (09:15)
" C1 a( K! b& L! e6-7 功能继续升级 - SubMenu 下拉菜单编码第一部分 (10:39)
% c  C4 f) D8 }: r6-8 添加交互 - SubMenu下拉菜单编码第二部分 (09:29)# s) i# d- i( _5 ^2 Q
6-9 大功告成 - SubMenu 下拉菜单编码第三部分 (10:18)
' ?1 V! v2 b$ d% I/ Y: C6-10 完美组件 - SubMenu 组件添加测试 (13:51)
- X; O* h. g, j  x6-11 Tabs 组件
/ \0 Q% [$ t$ G& s1 v+ S2 X9 _/ ]8 ^1 f% C5 Q$ \
第7章 他山之石 - Icon 组件 和 Transition 组件. d' \1 F6 L; [3 c
7-1 图标解决方案简介 (07:41)2 x, f9 g+ q& B
7-2 他山之石 - Icon组件编码第一部分 (10:12)4 A" |8 w! M7 @4 D
7-3 Icon 组件样式添加 (06:00)
7 _7 t. P# h5 O# x* s$ g7-4 让图标动起来 - 动画效果第一种实现方法 (08:19)" z( Y$ o; Z) Y
7-5 React Transition Group 简介 (07:59)8 X& {2 _, v7 ?' h+ P
7-6 React Transition Group 实践 - 动画效果第二种实现方式 (06:52)
4 D/ Y5 _5 e7 M* {% b# }7-7 尽善尽美 - React Transition Group 添加菜单消失的动画 (06:12)* H) A3 N1 S+ L; H- _0 ~
7-8 拿来主义 - 自定义 Transition 组件编码第一部分 (10:42)2 l9 w1 \! @: N" X  B% ^# G' b0 F
7-9 拿来主义 - 自定义 Transition 组件编码第二部分 (07:16)) l" y4 M% N  g# R/ [! G$ `9 a, F
7-10 完成的 Icon 和 Transition 组件
6 C4 m' r6 ~: e" _
) Z0 o$ _( z3 Q5 i7 m第8章 Storybook - 本地调试组件和生成文档页面的利器, n! w6 |0 K6 X# H$ S$ H
8-1 什么是 Storybook (05:35)' h5 O  z7 g$ e/ C- P. v+ Y8 W. X+ y
8-2 安装 Stroybook (05:55)& C2 G) g0 E5 q1 `* O
8-3 Storybook 支持 Typescript (07:23)
# @4 K4 R4 L# C8-4 展示秀- 为 Button 添加 Story (08:56)
6 Q9 J* w+ {* R7 I8-5 如虎添翼 - Stroybook addon插件系统介绍 (07:28)
, K2 F2 Q# m/ K9 E# g' G2 X, z1 b8-6 更多信息 - 添加 Storybook addon-info 插件 (08:56)
# v7 I- a6 g* j8-7 自动生成文档 - 添加 react-docgen-typescript 第一部分 (08:17)
' L# q& _( x/ b' z% i6 C# Z8-8 自动生成文档 - 添加 react-docgen-typescript 第二部分 (05:27)
  T! ~% w  |# f7 K# Z: N6 @8-9 大功告成 - Storybook 最终样式调整 (05:44)
% y8 P( N4 ~) R% l) v; a8-10 完成的 storybook 的架构,给剩下的组件添加 stories! V+ k$ V2 @: C

# H1 a$ ^9 f2 {2 C" [6 f2 `第9章 进入表单的世界 - Input 组件和 AutoComplete 组件
1 \% |* C- c9 K* k; I9-1 知己知彼 -Input 组件需求分析 (06:09); h" B4 o. M9 A
9-2 抛砖引玉 - Input 组件伪代码实现 (08:48)
7 U; h, e, R1 W9 H9-3 持续优化 - Input组件代码实现和优化过程 (12:11)- {$ g' l& q3 j. [: B% c
9-4 新的挑战 - AutoComplete组件分析 (09:29)/ [( w. B. W, d0 j( A/ d
9-5 基本骨架 - AutoComplete 编码第一部分 (14:09)
: w5 g% w: K6 S  p7 \/ Y: @2 X: l9-6 AutoComplete 支持自定义模版 (11:21)2 k. X* C- T, P- w' m
9-7 异步来了 - AutoComplete 支持异步请求编码 (09:42)" ]1 E5 E6 t1 p& ]% @7 M
9-8 老瓶新酒 - 使用自定义Hook实现 函数防抖 (11:51)- G3 _8 h  o1 q8 K% X
9-9 AutoComplete 支持键盘事件 (10:11)9 c  _& `5 j6 X) X+ n# K* A$ ~: H  ]
9-10 妙用 useRef - 实现 clickOutSide 功能- (10:57)4 }9 \' l  @6 Y5 v5 i2 r# ]5 o
9-11 完美收尾 - AutoComplete 添加单元测试 (14:08)0 v! H# n3 u$ H5 ?
9-12 Select 组件, P9 i" x) K. {2 {+ L8 l

, v' b4 C/ y6 B* J% W5 I4 L5 K第10章 终极任务 - Upload 组件+ ?1 u" r# V$ q
10-1 最终任务 - Upload组件需求分析 (06:22)2 `7 Z$ h% D* M
10-2 下一代 HTTP 库 - axios (05:54)
8 |5 q1 F* k6 g5 T10-3 在线 mock server 和 axios 简单使用 (09:29)
/ _& ]  G9 o# H) z10-4 上传文件的基本方式 (09:39)/ |/ Q8 P3 d  |( l: e
10-5 完成基本流程 - Upload 组件编码第一部分 (13:23)
, n( I2 d( `7 u8 H* W10-6 完善生命周期 - Upload 组件编码第二部分 (08:00)
6 f1 X5 J; C' Z% N# N% b10-7 创建列表数据 - UploadList 组件编码第一部分 (13:36)
( ~  U& b9 c" _" C6 c; Q10-8 显示上传数据 - UploadList 组件编码第二部分 (11:59)* J' O0 @3 n3 J. [. g: Y/ _
10-9 显示上传进度 - 添加 Progress 组件 (10:29)4 t+ w7 y! |+ }7 R
10-10 精益求精 - 再次分析 Upload 组件更近一步需求 (06:33)
( b; v: C7 @3 A! U" F$ K1 y- ^, Z10-11 Upload 增强交互第一部分 (08:50)
* Y* N7 [$ E. a. f. U10-12 拖动上传 - 支持 Drag and Drop (10:05)* J" m' f/ s6 B0 Y
10-13 异步怎样测试? - Upload 测试第一部分 (12:29)2 O$ i0 F# D, [: T
10-14 拖动事件怎样测试? - Upload 测试第二部分 (11:20)* B: p3 B- v- ]. e1 `5 z" [
7 X6 i; d* j: c
第11章 Javascript 模块打包 - 需要什么类型的模块供各种环境使用?* K/ W- b: g/ r+ v
11-1 Javascript模块化发展历史 (07:19)
% O4 u3 y) l9 K) w; `11-2 webpack 到底完成什么任务? - bundler的神奇功效 (06:36)
, m. ^& F6 v4 r$ o% E11-3 怎样选择 Javascript 模块格式? (06:38)# u. `& w$ o) L5 r9 l8 u' D$ k$ p
11-4 创建组件库模块入口文件 (08:23)
1 h9 o5 k- Q9 b4 J3 e. E5 X" s) p0 c11-5 驯服tsc - tsconfig 编写第一部分 (08:08)3 j/ L) ?6 X0 L$ R
11-6 驯服 tsc - tsconfig 编写第二部分 (06:28)
) u1 ~" ?! R* Z2 j11-7 生成最终使用的样式文件 (06:09)* C. v/ ]( M/ Y$ k* H# T
11-8 使用 npm link 本地测试组件库 第一部分 (06:28)
4 `& l9 K2 R- |, o3 x7 m11-9 使用 npm link 本地测试组件库 第二部分 (05:14)
5 r( U6 J$ c5 w4 `, k; N/ z3 t: l& G/ v9 _+ X1 ~& F
第12章 大功告成 - 发布到 Npm,以及添加 CI/CD 支持5 E' P; ^( `8 b: D: W
12-1 Npm 简介 (05:31)$ s: C/ e6 d3 O8 M) q
12-2 发布组件库到 npm (07:37)% ^) p" x+ m. f! \9 b$ [
12-3 瘦身任务 - 精简 package.json 依赖 (07:12)
  Y; X+ \% E5 ]  x; t1 o12-4 万无一失 - 添加发布和 commit 前检查 (09:17)3 g5 ?! ]( }: L* ]  B( D* }. J
12-5 使用 Storybook 生成静态文档页面 (07:40)% k% r+ {6 Z3 X4 @
12-6 CI CD 简介 (04:59)6 M$ y. w1 K/ u- I5 m, [# v
12-7 使用 travis 自动运行测试 (08:02)
" Z! k' I" N! W12-8 使用 travis 自动发布文档页面 (06:31)
7 {- n) T( V# {( L
7 l- Y1 J7 R' v" ?) N! g第13章 课程总结* x' N% u9 l" w; e( G
13-1 课程总结 (08:20)0 f1 v* I* L. T* K4 A

, U! a" X+ L( F( F" H0 g; U7 ~4 P1 w, r# R
〖下载地址〗
: V0 h8 t  k  x. ^  W+ e$ c
游客,如果您要查看本帖隐藏内容请回复

. u2 g# }1 N7 V) ^! p4 c9 @〖升级为永久会员免金币下载全站资源〗
( m5 {7 e5 v: U6 f5 _: K全站资源高清无密,每天更新,一次充值,永久可查看网站全部资源:http://www.mano100.cn/rjyfk_url-url.html

5 T% ^# d! P( c& g# r# E
回复

使用道具 举报

2583151529 | 2021-3-15 15:45:21 | 显示全部楼层
666666666666
回复

使用道具 举报

ustc1234 | 2021-3-16 08:47:31 | 显示全部楼层
React+TypeScript高仿AntDesign开发企业级UI组件库
回复

使用道具 举报

众神开挂 | 2021-3-21 11:21:02 | 显示全部楼层
React+TypeScript高仿AntDesign开发企业级UI组件库
回复

使用道具 举报

xiaoyou | 2021-3-31 17:33:13 | 显示全部楼层
支持支持支持支持支持支持
回复

使用道具 举报

我爱学习 | 2021-6-17 14:07:59 | 显示全部楼层
React+TypeScript高仿AntDesign开发企业级UI组件库
回复

使用道具 举报

qwety20185 | 2021-9-25 23:48:50 | 显示全部楼层
React+TypeScript高仿AntDesign开发企业级UI组件库
回复

使用道具 举报

13710858132 | 2022-4-3 20:06:20 | 显示全部楼层
666666666666666
回复

使用道具 举报

春游的夏天 | 2022-5-17 16:24:58 | 显示全部楼层
3hchReact+TypeScript高仿AntDesign开发企业级UI组件库
回复

使用道具 举报

cooper | 2022-9-29 01:17:23 | 显示全部楼层
23323233333333333333
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则