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

  [复制链接]
查看4215 | 回复15 | 2021-11-22 08:23:12 | 显示全部楼层 |阅读模式
16491213136239.png + ^/ d+ w+ y3 U& d
0 u% q4 ~1 S: B2 ]
〖课程介绍〗
; Q- x  f9 }5 _) I1 V从零到一高仿 AntD 使用 Typescript 和 React 开发组件库,在这其中穿插了一系列的知识点: 大型项目的样式组织,react 组件测试,react 动画实现。开发完毕还实现了模块化打包,代码发布再到 CI/CD 的全流程。
* I( Q: i0 c6 }  }' V
) k  y7 A2 ~! T〖课程目录〗: F" P0 o4 @2 C6 F( y
第1章 课程导学(此章节必看) 试看
) k; {6 F4 i; C8 K' v# t& ]1-1 导学(不看错过1个亿) (16:40)试看
/ F+ k) P' ]! I) E: Q1-2 代码库使用注意事项(必看) (04:33)9 L9 j7 s7 g) B4 D8 L6 a, L$ F
, G* N- z7 j1 z4 j1 ^, Y
第2章 欢迎来到类型的世界 - Typescript 试看3 |: }/ W/ D  E, S' k# F3 x
2-1 什么是 Typescript (05:46)试看
- e) F, l/ E, R% [+ L0 C0 H2-2 为什么要使用 Typescript (04:56)  @% C# F& ]. c% m
2-3 安装和初试 Typescript (07:06)( i8 N: R4 x3 z, y
2-4 基础类型 (05:54)
+ f  L/ ?- L7 d9 T2-5 any 类型和联合类型 (04:25)) c! W7 N! m8 h( x% q
2-6 Array 和 Tuple (06:05)
! D; Q6 [& A  w: E2-7 interface 初探 (06:32)3 ]2 O' F$ g3 q/ K
2-8 函数和类型推断 (08:06)
% ?6 H# A- _/ m, U0 Y7 L$ X5 ~- L2-9 类(Class)第一部分 (09:37)
/ T. w; L) j2 f4 B/ Z- [( S. N2-10 类(Class)第二部分 (06:35)- M& C% J  o# B2 B4 Z
2-11 类和接口 (07:07)5 j% u% z# ~7 w5 ]  b. k
2-12 枚举(Enum) (07:08)) G9 g2 j* f- N. U9 L
2-13 泛型(Generics) 第一部分 (07:30)! Z* i: ?) a/ c1 ?1 @& A7 Y# d
2-14 泛型(Generics) 第二部分 - 约束泛型 (06:23)4 R- N# n# i& a5 n. M: ?. j
2-15 泛型(Generics) 第三部分 - 类和接口 (12:37)5 _/ a8 h% n4 f: c* D7 J1 n. {
2-16 类型别名和类型断言 (08:57)6 t! O: l! Y; F
2-17 声明文件 (06:09)8 b' `$ V- k9 X) k+ Y8 s

( E$ |* D, Q: ^( z7 A第3章 神奇的 React 配合 typescript,完美输出
. H: N0 |3 X+ h9 f$ f( f6 I3-1 React简介和基础知识回顾 (14:39)
) Z3 \1 v3 Z' ]6 b7 m+ a' k" `3-2 配置 react 开发环境 (08:50)+ N) X& p$ z" [+ X$ `% N) T9 p
3-3 第一个组件 - ts为组件助力 (06:26)
6 K& F3 w: ^$ }3-4 什么是 和 为什么要使用 React Hook (07:25)- S+ x8 E2 U- O) Z+ V
3-5 在函数组件使用 state - useState Hook (09:10)
9 a, `0 @" s  m& D0 B2 N2 x3-6 useEffect 第一部分 - 初出茅庐 (05:31)
4 x% @/ H$ ]. O& D' u% x$ K3-7 useEffect 第二部分 - 有始有终 (08:18)
! r5 x; C7 R( h+ i7 L( H3-8 useEffect 第三部分 - 控制运行 (06:52)
) a6 w% E6 ~. ]# l3-9 自定义 Hook - 重构 MouseTracker (06:48)5 w; K9 O3 q  X; Z5 D
3-10 自定义 Hook 第二部分 - HOC的劣势 (08:10)& ~2 d% B$ B: X8 w+ P8 R3 ^
3-11 自定义 hook 第三部分 - 正确的方式完成 URLLoader (07:39). d& h4 M" W$ p. E
3-12 useRef - state遇到的难题 (05:08), F8 C. y9 I! [
3-13 useRef - 多次渲染之间的纽带 (07:30), [) x& A. t2 K! i0 p
3-14 useContext - 解决多层传递属性的灵丹妙药 (10:27)
. Z0 l9 F& d) P, s  _+ m8 P3 F) X3-15 hook 规则和其他 hook (03:52)$ X$ {3 _( B& w1 M, d5 C5 m7 n

! {* r- e" F; _* m% {第4章 组件库起航 - 你真的能写的好看起来简单的 Button 组件吗? 试看
/ `& x( s( G8 ^5 B4-1 组件库开始起航 - 需求分析 (05:28)0 s. i2 M* U8 _7 x: J( W5 W2 Q
4-2 文件结构和代码规范 (09:17)
$ t+ G! J7 o4 l+ w4-3 样式解决方案分析 (07:37)
# t6 S1 ^  h2 R2 D% e6 |3 q0 v% E4-4 做一次设计师 - 添加自己的色彩体系 (07:02)
9 B( f( u+ t: x4-5 更多样式变量 - 添加字体变量解决方案 (07:10); M" K* v4 m# e2 B+ p5 X1 f% h, A
4-6 初次亮相 - 添加 normalize.css (09:06)
8 Q6 w, Q5 ^; i7 r. ^) U4-7 Button 组件需求分析 (04:58)
( {8 D: m+ y& B- o. c3 X' X4-8 小试牛刀 - Button 组件编码 第一部分 (14:18)
5 P( L: O: x" D9 m9 [/ ~6 I4-9 添加 Button 基本样式 (10:07)% R+ L/ y9 B6 |' n1 j
4-10 升级 Button 组件样式 (12:32)! C6 \# e5 c0 T0 W( ]
4-11 精益求精 - Buton 组件编码第二部分 (08:01)试看
0 E  B& z. c1 t. F6 X6 n& n! [4-12 完成 Alert 组件
, n" d& D$ k  x+ w- b$ u% I3 W# h# h$ b- G: P
第5章 组件测试
' t, c' B7 U% D) x% `1 k4 w5-1 为什么要有测试 (07:26)0 e' q4 Y  U) Q% V- n- l6 K5 |
5-2 通用测试框架 Jest 出场 (09:36)- b9 X; ~2 v- k
5-3 React 测试工具 - react-testing-library (09:17)6 h3 P( ]2 h. I' i
5-4 添加Button 测试代码 第一部分 (10:33)( b6 I4 J8 F1 q% w
5-5 添加Button 测试代码 第二部分 (10:49)- o. _3 J5 L0 a# _0 B' x6 P
5-6 Alert 组件添加测试用例
4 ?* t. p0 d9 Q) ]1 S5 l6 n& c% a* u2 }6 z' J
第6章 更上一层楼 - 完成 Menu 组件, W8 T% t  G  @6 w' ?6 O* T
6-1 Menu 组件需求分析 (07:17)
; w' c5 a. `, L0 x) r3 j( j! \6-2 基础架构 - Menu组件编码第一部分 (10:35)
* ^% a& e1 e' @( ], h, c6-3 需求升级 - Menu 组件编码第二部分 (11:09). X0 {1 O' h, |! t
6-4 添加 Menu 样式 (10:21)
5 s# ~3 i( `$ {; s& d( T* E6-5 测试驱动 - Menu 测试添加 (17:32)" P  U# C% D  F0 v( h1 Q, N
6-6 日趋完美 - Menu 组件编码第三部分 (09:15)( {9 M. ^2 ]& b' k+ ]
6-7 功能继续升级 - SubMenu 下拉菜单编码第一部分 (10:39); u+ J; ^+ S9 \5 V. V
6-8 添加交互 - SubMenu下拉菜单编码第二部分 (09:29)" E  t. e# F! Z. o+ j
6-9 大功告成 - SubMenu 下拉菜单编码第三部分 (10:18)
% D6 F1 m) p- A6-10 完美组件 - SubMenu 组件添加测试 (13:51)
: R! o3 G/ Z2 @6 @* ]+ K6-11 Tabs 组件
& ?2 g: x" F: p
7 o0 D9 ~) E4 w- E. X+ e第7章 他山之石 - Icon 组件 和 Transition 组件
1 m  {; Y2 ]* E% n" ?7-1 图标解决方案简介 (07:41)
" t- U; E0 T* X8 u% G% w3 e8 R! k) ]; R7-2 他山之石 - Icon组件编码第一部分 (10:12)
0 H, W. z+ D7 h' X9 w5 Q$ O7-3 Icon 组件样式添加 (06:00)
8 O* x' r$ |2 N- S& V6 i( d7-4 让图标动起来 - 动画效果第一种实现方法 (08:19)- i4 p( r: \' N, I, K0 Q8 S
7-5 React Transition Group 简介 (07:59)
7 }4 O  W* O! }& R3 V7-6 React Transition Group 实践 - 动画效果第二种实现方式 (06:52)
" d- T4 e; }: F6 x8 C7-7 尽善尽美 - React Transition Group 添加菜单消失的动画 (06:12)
: p  h# f) b0 J' r" }0 `7-8 拿来主义 - 自定义 Transition 组件编码第一部分 (10:42)
$ ^! M% V0 ~/ X. |' V* Z' k7-9 拿来主义 - 自定义 Transition 组件编码第二部分 (07:16)& `4 }9 A# H; q
7-10 完成的 Icon 和 Transition 组件0 r6 s+ {1 K" B& G
% \; `8 ^, g: v$ S+ B2 _( O
第8章 Storybook - 本地调试组件和生成文档页面的利器; T' c% m% b6 X2 v
8-1 什么是 Storybook (05:35)$ E, Y1 C# Z6 _2 J! T; r; a
8-2 安装 Stroybook (05:55)) |. w1 H) K/ m( f6 F
8-3 Storybook 支持 Typescript (07:23)# L" n0 _3 y6 |7 i  \
8-4 展示秀- 为 Button 添加 Story (08:56)8 O/ p' q$ S* Q" V9 d# s2 J
8-5 如虎添翼 - Stroybook addon插件系统介绍 (07:28)
, f3 O3 |2 r- ?$ n3 I7 g7 \8-6 更多信息 - 添加 Storybook addon-info 插件 (08:56)/ b( d' V" v$ D; r/ x' s! L
8-7 自动生成文档 - 添加 react-docgen-typescript 第一部分 (08:17)8 y( g* t+ c7 [& _; I
8-8 自动生成文档 - 添加 react-docgen-typescript 第二部分 (05:27)) J) h1 r- r0 E
8-9 大功告成 - Storybook 最终样式调整 (05:44); b( ~# q7 r; S. i
8-10 完成的 storybook 的架构,给剩下的组件添加 stories
. {% L+ I: ^1 b* w1 h' q7 K5 l$ ?! W: T$ Y, q
第9章 进入表单的世界 - Input 组件和 AutoComplete 组件
9 z- T: R/ \8 D# p2 F7 n' C7 z9-1 知己知彼 -Input 组件需求分析 (06:09)' A/ L2 l/ e# N
9-2 抛砖引玉 - Input 组件伪代码实现 (08:48)
2 K9 J! G4 X. y" C9-3 持续优化 - Input组件代码实现和优化过程 (12:11)6 C; K6 D6 q# k- b* n
9-4 新的挑战 - AutoComplete组件分析 (09:29)
5 x- U4 N5 O$ O% n9-5 基本骨架 - AutoComplete 编码第一部分 (14:09)$ q, S6 H  {1 ~( A  o
9-6 AutoComplete 支持自定义模版 (11:21)
; b: Y$ e5 I9 V2 r2 h& w# b" |' A9-7 异步来了 - AutoComplete 支持异步请求编码 (09:42)
7 q( B3 L/ m8 z+ t! Z4 y( ?( X9-8 老瓶新酒 - 使用自定义Hook实现 函数防抖 (11:51)+ s1 g# t$ V: t! j1 ~: d! [) l3 b
9-9 AutoComplete 支持键盘事件 (10:11): z8 j; S  }5 \8 ^1 a
9-10 妙用 useRef - 实现 clickOutSide 功能- (10:57)% Q, x/ K. X4 ?% H& B. k- Z4 h
9-11 完美收尾 - AutoComplete 添加单元测试 (14:08)
9 s1 X; Z- ?8 |/ a4 \, u9-12 Select 组件
$ d; }6 D2 g% T* l# R2 a2 i( S
4 ~4 x. p3 l% K/ M4 }' f9 q第10章 终极任务 - Upload 组件4 \3 k/ S% s% A
10-1 最终任务 - Upload组件需求分析 (06:22); \9 o1 j% b. q# P$ R1 Z) Q
10-2 下一代 HTTP 库 - axios (05:54)
( G/ E: t9 _3 J# g9 n, _10-3 在线 mock server 和 axios 简单使用 (09:29)- @& S" f7 f' W2 v6 B
10-4 上传文件的基本方式 (09:39)* _4 Q1 e2 z  ]5 c& Y4 a
10-5 完成基本流程 - Upload 组件编码第一部分 (13:23)
$ ]2 o* `( \+ W" t* A- O10-6 完善生命周期 - Upload 组件编码第二部分 (08:00)' q5 q) M/ b  S7 s$ I
10-7 创建列表数据 - UploadList 组件编码第一部分 (13:36)
; p0 u- a; Y; }. n- ]; K10-8 显示上传数据 - UploadList 组件编码第二部分 (11:59)
+ F7 m% L( g$ E/ T" I10-9 显示上传进度 - 添加 Progress 组件 (10:29)
* `4 i) L4 u8 H' \  r; l% j! o10-10 精益求精 - 再次分析 Upload 组件更近一步需求 (06:33)
* }4 T! e. \/ @5 d! p3 i; A10-11 Upload 增强交互第一部分 (08:50)- Z8 t5 `+ i- ?! x9 m! q
10-12 拖动上传 - 支持 Drag and Drop (10:05)
' e: I) m& K( ~  s$ q/ v10-13 异步怎样测试? - Upload 测试第一部分 (12:29)9 C6 `) N" b# ^& W* e" U
10-14 拖动事件怎样测试? - Upload 测试第二部分 (11:20)
$ i/ P8 N1 o/ _- k- ~/ j" P
; s% g4 G  K& _: u5 n- L第11章 Javascript 模块打包 - 需要什么类型的模块供各种环境使用?
. D6 w$ r( b5 ?: w  W/ v4 _# K11-1 Javascript模块化发展历史 (07:19)
8 Z! f0 E& V- w: N& x6 o( d11-2 webpack 到底完成什么任务? - bundler的神奇功效 (06:36)# Y' U0 G5 x) M- M; L% i: [
11-3 怎样选择 Javascript 模块格式? (06:38)( R/ n1 {( j2 c+ t+ M1 c- W2 I
11-4 创建组件库模块入口文件 (08:23)2 H0 P. P) @3 u6 c+ [: ?1 D
11-5 驯服tsc - tsconfig 编写第一部分 (08:08)8 h  q( A$ ?5 U8 U3 |9 z8 V
11-6 驯服 tsc - tsconfig 编写第二部分 (06:28)# _% O+ ]2 j3 i4 ]" \4 t; t
11-7 生成最终使用的样式文件 (06:09)6 i: R1 _# ^" ?& g4 u/ r( x+ v
11-8 使用 npm link 本地测试组件库 第一部分 (06:28)
4 O$ F9 x5 z% s0 L11-9 使用 npm link 本地测试组件库 第二部分 (05:14)" L* @4 F7 H& k

; n1 o9 I6 H- ?% h: V第12章 大功告成 - 发布到 Npm,以及添加 CI/CD 支持5 U. E# N7 X) w  u8 ~# {; F
12-1 Npm 简介 (05:31)- G$ S/ s4 n, m
12-2 发布组件库到 npm (07:37)
% b8 L; U8 R  ^; {12-3 瘦身任务 - 精简 package.json 依赖 (07:12)
* U0 @2 m& b6 G1 Y* j12-4 万无一失 - 添加发布和 commit 前检查 (09:17)
0 ?) U8 u) m7 {& r12-5 使用 Storybook 生成静态文档页面 (07:40), m% b/ A. n+ B' b( h# P
12-6 CI CD 简介 (04:59)# P/ N! H- b/ z! s. ^0 U9 V
12-7 使用 travis 自动运行测试 (08:02)& s" {. a2 M4 _! y0 d
12-8 使用 travis 自动发布文档页面 (06:31)4 ~  f4 I) b1 c2 u- ?: i* i- }8 s
1 V0 J2 X+ u# t1 C) U2 o: m5 l
第13章 课程总结% Q$ R9 G" j4 ?5 E
13-1 课程总结 (08:20)' t* y* z1 z( q( o/ Y9 L  j& H

2 V5 R9 N/ k0 T2 ]
, Z$ J, @+ X) U& g: P2 n: I$ ^% y8 W〖下载地址〗
2 @! t/ S8 Q/ R6 Z3 y7 P
游客,如果您要查看本帖隐藏内容请回复

, \7 k: c2 N3 C3 K6 i, F7 \〖升级为永久会员免金币下载全站资源〗
% k9 M( B7 C; G) h全站资源高清无密,每天更新,一次充值,永久可查看网站全部资源:http://www.mano100.cn/rjyfk_url-url.html
0 u2 ~  M- [; X2 z
回复

使用道具 举报

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
回复

使用道具 举报

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

本版积分规则