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

  [复制链接]
查看5605 | 回复15 | 2021-11-22 08:23:12 | 显示全部楼层 |阅读模式
16491213136239.png : F' A) H" Z8 |2 k4 k- ^8 }, p
% a6 H  u2 w$ i/ ]9 s* G3 B0 S) [
〖课程介绍〗3 `. D+ }! x5 V% v# G1 w/ Z
从零到一高仿 AntD 使用 Typescript 和 React 开发组件库,在这其中穿插了一系列的知识点: 大型项目的样式组织,react 组件测试,react 动画实现。开发完毕还实现了模块化打包,代码发布再到 CI/CD 的全流程。
- {+ @% @8 S% H! \, _% k. R6 l$ r0 ]+ L. Q# y  z- o: s
〖课程目录〗. A" \# R8 p! G. |5 x
第1章 课程导学(此章节必看) 试看
" u* \8 N% s) ?1-1 导学(不看错过1个亿) (16:40)试看
1 W8 ?; D0 V7 [. V0 j% \9 |& Q/ E1-2 代码库使用注意事项(必看) (04:33); u4 n" L) ?( F
' D' N. t  C1 u! m
第2章 欢迎来到类型的世界 - Typescript 试看
! l& x1 v1 b6 K; {2-1 什么是 Typescript (05:46)试看( b9 }. S% ?# j3 N9 N( ~' D
2-2 为什么要使用 Typescript (04:56)# s0 O. m' _- }7 v; N# ^
2-3 安装和初试 Typescript (07:06)0 x% V6 o9 I3 {- D
2-4 基础类型 (05:54)
8 U0 u7 C6 G) ]2-5 any 类型和联合类型 (04:25)9 b8 }# S# X( o0 E4 n. Y7 R# P
2-6 Array 和 Tuple (06:05)
3 b$ N% k3 Z$ e# C2-7 interface 初探 (06:32)3 X8 A: A: U5 d! v" s2 A8 d% [0 o
2-8 函数和类型推断 (08:06)
# l% c2 l9 L8 f4 M. o" i. o9 C) C2-9 类(Class)第一部分 (09:37)2 o6 `/ m% k7 Y: [  }( x  q
2-10 类(Class)第二部分 (06:35)
3 K2 ~  V6 @- L4 i6 }" X2-11 类和接口 (07:07)
: W) [3 Q; J8 _2-12 枚举(Enum) (07:08)
  u  ?4 \0 x# |& E2-13 泛型(Generics) 第一部分 (07:30)
9 P! B1 d% C! `% Z" y- S: h' v2-14 泛型(Generics) 第二部分 - 约束泛型 (06:23)) @2 X! A* H+ q* F6 H8 F
2-15 泛型(Generics) 第三部分 - 类和接口 (12:37)+ E/ M/ [2 t/ o
2-16 类型别名和类型断言 (08:57)
8 h& `9 E9 t6 ^* w( _; W2-17 声明文件 (06:09)/ \9 T* f$ H, y' |  c5 m
- _, ~1 f. z8 D3 S9 ]
第3章 神奇的 React 配合 typescript,完美输出
; k' c- p0 @& I. s$ W3 ~& V3-1 React简介和基础知识回顾 (14:39); g& C  J- Y0 p# l2 m! L9 X2 u  w7 D
3-2 配置 react 开发环境 (08:50), u; n4 m8 d7 k' b  l
3-3 第一个组件 - ts为组件助力 (06:26)
1 \" E5 q/ h8 h9 f6 E3-4 什么是 和 为什么要使用 React Hook (07:25)6 M/ c( e$ l" |0 y; o' r# f, B7 m) p
3-5 在函数组件使用 state - useState Hook (09:10)- ~5 q/ Z) Z2 P/ r1 M
3-6 useEffect 第一部分 - 初出茅庐 (05:31)
; y5 B+ w1 q& J) [4 V% t" l! y3-7 useEffect 第二部分 - 有始有终 (08:18)& [3 z% s" [$ T; i- H- f8 O& T  W
3-8 useEffect 第三部分 - 控制运行 (06:52)
6 Y# G% j$ H! v3 \& U& v+ A3-9 自定义 Hook - 重构 MouseTracker (06:48)
, {. k" s" |" |3-10 自定义 Hook 第二部分 - HOC的劣势 (08:10)
: W% ]$ n0 `# X3-11 自定义 hook 第三部分 - 正确的方式完成 URLLoader (07:39)8 e) O* @, T) i. z+ ~
3-12 useRef - state遇到的难题 (05:08)
2 {9 ]' g1 k- ?3-13 useRef - 多次渲染之间的纽带 (07:30)
& e* o  w+ t- n. u3-14 useContext - 解决多层传递属性的灵丹妙药 (10:27)
2 O. b2 E" O' p& l# Z3-15 hook 规则和其他 hook (03:52)
. `9 W! A) V* o
' W: I3 |5 W1 I6 t# I, y5 z( j, G% X第4章 组件库起航 - 你真的能写的好看起来简单的 Button 组件吗? 试看
1 {+ B9 }8 f7 K+ _& }& w4-1 组件库开始起航 - 需求分析 (05:28): O$ I8 P3 J: u4 N% R, \0 n
4-2 文件结构和代码规范 (09:17)
- d3 A$ E' `: E( z! s4-3 样式解决方案分析 (07:37)
$ v$ t8 M, r+ Y  {8 I2 v4-4 做一次设计师 - 添加自己的色彩体系 (07:02)  L( u$ G# _6 N$ j* R2 J
4-5 更多样式变量 - 添加字体变量解决方案 (07:10)% d/ x) ], k9 t3 m$ s4 W
4-6 初次亮相 - 添加 normalize.css (09:06)5 R; p; H. N8 V% r1 X. W, ^/ W
4-7 Button 组件需求分析 (04:58)
$ E! T# I+ p; O. ~2 \$ {6 k; G  L4 d/ m4-8 小试牛刀 - Button 组件编码 第一部分 (14:18)# v5 N; i; _' u) y& U
4-9 添加 Button 基本样式 (10:07)
+ V( F# k" F$ N' K! G3 k( ^$ {. W* o4-10 升级 Button 组件样式 (12:32)
  g' w  _8 n) o2 {4-11 精益求精 - Buton 组件编码第二部分 (08:01)试看
; i6 R% H: |7 S- e  Y4-12 完成 Alert 组件
$ K# S. @! X; i2 g* g4 Q* G2 F% h) m) {# M$ [5 ]
第5章 组件测试0 T. P5 ?# U% L8 E5 z' C
5-1 为什么要有测试 (07:26)3 x* I5 F: N3 B( o5 C9 b
5-2 通用测试框架 Jest 出场 (09:36)8 X6 C9 X. t8 k/ S# t5 Q
5-3 React 测试工具 - react-testing-library (09:17): p# u( q0 H9 s- \! C- I" w5 Y
5-4 添加Button 测试代码 第一部分 (10:33). v5 c" u1 o. @% B
5-5 添加Button 测试代码 第二部分 (10:49)8 y/ g2 Y& j  q9 P
5-6 Alert 组件添加测试用例
2 T2 ?1 `/ J/ K' n% {! j2 d: }2 Y, l: V  z2 |& i# [5 S
第6章 更上一层楼 - 完成 Menu 组件/ f9 S/ `( b/ K/ l0 j# S
6-1 Menu 组件需求分析 (07:17)
+ `. R. T( _4 e/ J0 }6-2 基础架构 - Menu组件编码第一部分 (10:35), O" [/ N/ f% T
6-3 需求升级 - Menu 组件编码第二部分 (11:09)
: h8 k1 |- s( m- y- p: E) `! F6-4 添加 Menu 样式 (10:21)* P& l9 g" k0 t
6-5 测试驱动 - Menu 测试添加 (17:32)
! X! P$ W) h8 F  g6-6 日趋完美 - Menu 组件编码第三部分 (09:15)& ~, ]) ~& L$ e4 a, N* G
6-7 功能继续升级 - SubMenu 下拉菜单编码第一部分 (10:39)
; j0 A* G9 f: H& n3 Q& c4 g6-8 添加交互 - SubMenu下拉菜单编码第二部分 (09:29)
2 [. g4 G* b) G8 Q% F6-9 大功告成 - SubMenu 下拉菜单编码第三部分 (10:18)
! `- Z. ^; m5 t+ w( _- T' n6-10 完美组件 - SubMenu 组件添加测试 (13:51)* a# q1 S( F, ]( b5 ]/ a8 t: R  R
6-11 Tabs 组件7 y" E5 E8 P; [
6 E0 I0 ^' m: ~$ B2 N& Z; O7 O! B
第7章 他山之石 - Icon 组件 和 Transition 组件7 ~' w8 A% z7 m0 X( M
7-1 图标解决方案简介 (07:41)
$ ]7 ]7 T! e3 H7-2 他山之石 - Icon组件编码第一部分 (10:12)
" v6 W2 v6 c; ^9 a7-3 Icon 组件样式添加 (06:00)+ c% |" ?% w' f
7-4 让图标动起来 - 动画效果第一种实现方法 (08:19)6 `$ B7 S' V, O) x
7-5 React Transition Group 简介 (07:59)+ _* o  ^# h5 }! p2 F
7-6 React Transition Group 实践 - 动画效果第二种实现方式 (06:52)
  ]3 K/ H2 s: ?) Z8 N  e6 d* z8 o7-7 尽善尽美 - React Transition Group 添加菜单消失的动画 (06:12)
- u- N( d7 x) }8 S7-8 拿来主义 - 自定义 Transition 组件编码第一部分 (10:42)+ y) B# n" e3 M5 X
7-9 拿来主义 - 自定义 Transition 组件编码第二部分 (07:16), X6 `; W) M1 g5 u" R2 {  U
7-10 完成的 Icon 和 Transition 组件. |9 A- e( o8 D2 T; c' M6 N4 N

% O+ K, v5 ]$ {5 r1 d第8章 Storybook - 本地调试组件和生成文档页面的利器! n6 `" _: a6 }/ f/ V& A. b* j
8-1 什么是 Storybook (05:35): y# L* _1 i6 j3 P. a6 y& @
8-2 安装 Stroybook (05:55)
  v' `- H5 t/ T$ E, k8-3 Storybook 支持 Typescript (07:23)
7 \) [' r) x4 n4 U8 d8-4 展示秀- 为 Button 添加 Story (08:56)* d' Y7 o" f4 c
8-5 如虎添翼 - Stroybook addon插件系统介绍 (07:28)
! r, x6 p9 M0 i1 E. M0 H( x  R8-6 更多信息 - 添加 Storybook addon-info 插件 (08:56)
4 S1 D* \: a0 A! D5 M8-7 自动生成文档 - 添加 react-docgen-typescript 第一部分 (08:17)
3 U* Q7 h; P; u! \/ C  q8-8 自动生成文档 - 添加 react-docgen-typescript 第二部分 (05:27)
% W8 o2 c: X# h1 V# N, t6 W8-9 大功告成 - Storybook 最终样式调整 (05:44)0 W" U4 u8 E+ {; r( k
8-10 完成的 storybook 的架构,给剩下的组件添加 stories6 y3 O$ }0 p- M# r" [% O

+ ?; w9 Y/ i& ~4 F3 Y) R& Q第9章 进入表单的世界 - Input 组件和 AutoComplete 组件
, {: Q) K  M1 |$ B9-1 知己知彼 -Input 组件需求分析 (06:09)
3 l8 q% }* z* [1 u9-2 抛砖引玉 - Input 组件伪代码实现 (08:48)
* T2 c4 A  M& j' d! T9-3 持续优化 - Input组件代码实现和优化过程 (12:11); V  T1 y1 ^( a
9-4 新的挑战 - AutoComplete组件分析 (09:29)5 N0 Y0 o  w- Z; q! e
9-5 基本骨架 - AutoComplete 编码第一部分 (14:09)5 U0 \+ c3 Y- a0 @
9-6 AutoComplete 支持自定义模版 (11:21)
* i# Q+ f6 s/ n  t9-7 异步来了 - AutoComplete 支持异步请求编码 (09:42)3 F" l7 {" F+ @7 s
9-8 老瓶新酒 - 使用自定义Hook实现 函数防抖 (11:51)( b: U2 [6 W% U
9-9 AutoComplete 支持键盘事件 (10:11)
. \/ o- Q! T2 S9-10 妙用 useRef - 实现 clickOutSide 功能- (10:57)
! V4 E* z2 d8 H0 i) F9-11 完美收尾 - AutoComplete 添加单元测试 (14:08)
1 ^5 Y( C8 I6 m) z8 J# s1 P" H1 ?. ^9-12 Select 组件
# g7 J# ~9 L+ l  r6 g+ X0 `( b+ _* h! Y0 A# ]
第10章 终极任务 - Upload 组件
) t5 W2 L& c& W( ]7 Q6 K0 \- |2 |10-1 最终任务 - Upload组件需求分析 (06:22)% {3 |9 ^+ m  ?; |$ D! A; X
10-2 下一代 HTTP 库 - axios (05:54)
9 k2 G# F! |& ~0 P10-3 在线 mock server 和 axios 简单使用 (09:29)
% n, J) ]: v% J3 H8 m10-4 上传文件的基本方式 (09:39)& S& [) a. r% i% \! A+ l
10-5 完成基本流程 - Upload 组件编码第一部分 (13:23)
5 I, s8 Q& M3 j! d' s" n10-6 完善生命周期 - Upload 组件编码第二部分 (08:00). t7 ?- F- {& l+ T
10-7 创建列表数据 - UploadList 组件编码第一部分 (13:36)# F6 l" O+ Z+ Y
10-8 显示上传数据 - UploadList 组件编码第二部分 (11:59)
( y& u9 x, _+ _" C7 M) O10-9 显示上传进度 - 添加 Progress 组件 (10:29)
$ M9 @7 g# T1 e* o8 F% g5 ?7 W( V10-10 精益求精 - 再次分析 Upload 组件更近一步需求 (06:33)
; c6 r0 _% B& ~' I# ~! I/ c10-11 Upload 增强交互第一部分 (08:50)
7 p- K+ D, ^! Q/ n- `, {+ i0 x& W10-12 拖动上传 - 支持 Drag and Drop (10:05)0 n( D& @/ ]. M% `
10-13 异步怎样测试? - Upload 测试第一部分 (12:29)
6 N3 R4 c+ Y4 }10-14 拖动事件怎样测试? - Upload 测试第二部分 (11:20)
  ?/ s; s! f3 Q5 t) \9 _1 k5 ^* k2 X# l0 t# Z
第11章 Javascript 模块打包 - 需要什么类型的模块供各种环境使用?) t! j  n4 s3 r) P
11-1 Javascript模块化发展历史 (07:19)
- T$ m' o  E; `$ r$ |11-2 webpack 到底完成什么任务? - bundler的神奇功效 (06:36)3 c2 R4 ^5 o+ K
11-3 怎样选择 Javascript 模块格式? (06:38)  J- G& h/ a" p2 b+ N
11-4 创建组件库模块入口文件 (08:23)
! \2 o. ?5 {) q/ h11-5 驯服tsc - tsconfig 编写第一部分 (08:08)
) H$ m  ]7 @8 c6 f- A" h11-6 驯服 tsc - tsconfig 编写第二部分 (06:28)
2 U5 j2 D& j  |7 S% F11-7 生成最终使用的样式文件 (06:09)
8 \  s/ t) b6 }2 o' l11-8 使用 npm link 本地测试组件库 第一部分 (06:28)
% G' X( s# F4 `/ R  ]6 a11-9 使用 npm link 本地测试组件库 第二部分 (05:14)  i3 E' q/ F- R" G0 [3 \* F9 D
8 C5 _% l8 ]) q" z
第12章 大功告成 - 发布到 Npm,以及添加 CI/CD 支持
- L( M' h* s. K9 D' f12-1 Npm 简介 (05:31)
5 Z6 \2 i: a7 |4 u/ P12-2 发布组件库到 npm (07:37)7 q) l: S6 K7 w
12-3 瘦身任务 - 精简 package.json 依赖 (07:12)
6 g8 O/ T- u$ R, m/ E0 w$ d9 g12-4 万无一失 - 添加发布和 commit 前检查 (09:17); ?) G" S- Q2 S) W4 n, }
12-5 使用 Storybook 生成静态文档页面 (07:40)
. Z: x9 N$ h! Z6 b: G2 }3 X2 s12-6 CI CD 简介 (04:59)
. `! \* y% m5 L12-7 使用 travis 自动运行测试 (08:02); }/ J" \( N+ J1 a  M6 N
12-8 使用 travis 自动发布文档页面 (06:31)/ ^, U; x+ F- E8 p6 G

1 e  ?: j8 Z6 ~- C8 J第13章 课程总结( H, {$ j0 e- O( o
13-1 课程总结 (08:20)$ E0 m7 w) b! L  Y: k3 b5 z! t0 h' a
7 r# Z4 J; R8 _$ F
7 r4 P9 Z0 T$ ~  s6 z1 I' }1 h# E
〖下载地址〗
" u7 y. |# e" k8 v
游客,如果您要查看本帖隐藏内容请回复

$ t0 O6 Y/ N' h% u〖升级为永久会员免金币下载全站资源〗; s2 t$ ~. B/ g
全站资源高清无密,每天更新,一次充值,永久可查看网站全部资源:http://www.mano100.cn/rjyfk_url-url.html

1 X9 S) H+ X! _8 Y$ R5 Q7 y/ V
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则