〖课程介绍〗:
& O" H8 ~# E. L1 @ W& [( N6 Z React17 + React Hook + TypeScript4 已成为大型React 项目质量保证的代名词,更是 2021年优秀 React 开发者必备的技术。本课程将通过完成一个功能强大的任务管理项目,带领大家掌握最佳实践,全方位提升开发效率、开发质量和技术能力。
; q" m; r8 @: Z
$ U. g q5 p. F! ~2 A, l1 F〖课程目录〗:
第1章 课程介绍(了解本课程必看)
1-1 课程导学 (11:06)
1 g1 z2 q- h. b4 j4 z# [ 1-2 学前准备(上) (02:36)
9 X' ^- r/ O: c 1-3 学前准备(下) (00:44)
第2章 项目起航:项目初始化与配置
2-1 用 Create React App 初始化项目 (07:16)
, a1 F9 C9 U! [' I a6 Z( X. U 2-2 配置 eslint、 prettier 和 commitlint 规范工程 (08:56)
2-3 对比常见 Mock 方案 配置 JSON SERVER (10:53)
$ M2 s/ n, h: J- u 2-4 【注意了】大家不用再手动引入 React 了
1 {& C$ F p+ n* Y5 |# J; R 2-5 【扩展学习】Mock 方案对比
第3章 React 与 Hook 应用:实现项目列表
. F2 n" ^; S7 K9 P3 Y 3-1 用 JSX 列表渲染开发工程列表页面 (10:47)
3-2 用状态提升分享组件状态,完成工程列表页面 (20:22)
3-3 【扩展学习】为什么 React 列表要加 key ?
' }% P! d+ m- H" b 3-4 学习自定义Hook - 用useDebounce减少工程搜索请求频率 (19:49)
9 P& F+ Z( m' o4 ?! _/ S 第4章 TS 应用:JS神助攻 - 强类型
4-1 为什么我们需要TS - 真实场景学习 TS 的必要性 (13:48)
0 r' j& r3 u1 P 4-2 将项目列表页面JS改造成TS,增强类型,减少Bug (16:09)
) \. y/ e8 G% k7 V1 S* j 4-3 TS知识梳理、总结与提高 (21:10)
4-4 【扩展学习】TypeScript 基本知识梳理
4-5 学习泛型,用泛型增强useDebounce类型灵活性 (07:25)
4-6 作业练习 - 用 Hook + TS + TS泛型实现useArray (05:52)
; @* @7 u* B# l r 4-7 作业解答 - ⽤ Hook + TS + TS泛型实现useArray (03:41)
0 s/ W2 \+ B* Q# E. h! P7 S 第5章 JWT、用户认证与异步请求
5-1 用React表单、TS的类型继承和鸭子类型实现登录表单 (18:54)
/ q w$ Q3 ~; Q) I 5-2 连接真实服务端 - 专属开发者⼯具介绍与安装 (08:20)
5-3 来自讲师的重要提示:5-2 补充 (00:37)
5-4 JWT原理与auth-provider实现 (07:51)
5-5 用useContext存储全局用户信息 (13:49)
7 @2 {: R. f- a* V) m F9 y* Y 5-6 用useAuth切换登录与非登录状态 (06:04)
$ b+ G" f4 q( L3 y+ ` 5-7 用fetch抽象通用HTTP请求方法,增强通用性 (13:15)
5-8 用useHttp管理JWT和登录状态,保持登录状态 (10:04)
5-9 TS的联合类型、Partial和Omit介绍 (13:28)
7 x* ^8 n( J0 a/ F 5-10 TS的Utility Types-Pick、Exclude、Partial和Omit实现 (08:58)
6 F9 u, Q' W; v9 Q 第6章 CSS 其实很简单 - 用 CSS-in-JS 添加样式
# K3 v( f6 E8 f8 u: w 6-1 安装与使用 antd 组件库 (18:34)
6-2 为什么我们需要CSS-in-JS方案 -通过传统CSS缺陷学习CSS-in-JS必要性 (08:27)
# d5 H0 `# h( E 6-3 【扩展学习】不再惧怕 CSS - CSS-in-JS
! U$ d( W* w9 K2 _) [ [ 6-4 最受欢迎的CSS-in-JS方案 - Emotion的安装与使用 (15:52)
6-5 用Grid和Flexbox布局优化项目列表页面 (17:57)
' t1 l7 ~9 W- ?& C* Q( a6 c 6-6 用CSS-in-JS状态工程创建自定义组件:Row组件实现 (07:47)
6-7 完善项目列表页面样式 (10:27)
9 l9 ~( a& m r 6-8 清除前面课程留下的警告信息 (11:00)
- l4 e2 q1 d, B' W& |- r# O+ | x" @, Q 第7章 用户体验优化 - 加载中和错误状态处理
& B+ F. s3 m O0 j8 B! e+ l 7-1 给页面添加Loading和Error状态,增加页面友好性 (10:10)
; n4 m; Z" X. d+ D. B0 U* T3 t 7-2 用高级 Hook-useAsync统一处理Loading和Error状态 (13:38)
8 Q6 J: F, k$ J* K$ Y- d/ D" v$ Y 7-3 登录注册页面Loading和Error状态处理,与Event Loop详解 (20:10)
5 o/ r/ ^- ?- g0 \) _ 7-4 用useAsync获取用户信息 (06:33)
7-5 实现Error Boundaries,捕获边界错误 (14:17)
* F/ f" M9 }5 M9 i+ y5 J5 o 第8章 Hook,路由,与 URL 状态管理
; v- ~! I' V- C2 e( n" e; Y# e 8-1 ⽤useRef实现useDocumentTitle - useRef与Hook 闭包详解(上) (13:37)
8-2 ⽤useRef实现useDocumentTitle - useRef与Hook 闭包详解(下) (12:51)
8-3 添加项目列表和项目详情路由 (14:03)
8-4 添加看板和任务组路由 (07:46)
8-5 初步实现 useUrlQueryParam 管理 URL 参数状态 (11:58)
% c, e7 c# |' F 8-6 用useMemo解决依赖循环问题 - Hook的依赖问题详解 (20:59)
8-7 完成URL状态管理与JS中的 iterator讲解 (11:44)
5 Q* T* r" g' f 第9章 用户选择器与项目编辑功能
9-1 实现id-select.tsx解决id类型 难题 (13:56)
; @5 |3 {* {+ i/ c5 {$ A 9-2 抽象user-select组件选择用户 (10:53)
9-3 用 useEditProject 编辑项目 (17:52)
) y) }/ r4 J+ A# }' e4 H' a0 m 9-4 编辑后刷新-useState的懒初始化与保存函数状态 (21:57)
4 A$ p0 u2 i+ z9 k8 [8 ]& K) V 9-5 完成编辑后刷新功能 (10:07)
第10章 深入React 状态管理与Redux机制
g: f$ `' x" u7 ~ 10-1 useCallback应用,优化异步请求 (16:21)
10-2 状态提升,组合组件与控制反转(上) (15:31)
10-3 状态提升,组合组件与控制反转(下) (25:38)
+ I( W( ~7 {9 @7 ] 10-4 合并组件状态,实现useUndo (21:51)
8 j8 }5 A; ?/ a/ T% W" e( Y 10-5 用useReducer进行状态管理 (15:12)
; C+ d) @7 w* b# w" N 10-6 redux用法介绍 (11:13)
5 M( A# |1 E( I! n8 W# w 10-7 react-redux 与 HoC (18:28)
- S* D- \: g" w 10-8 【扩展学习】React Hook 的历史
10-9 为什么我们需要redux-thunk? (18:33)
10-10 配置redux-toolkit (12:26)
10-11 应用redux-toolkit管理模态框 (09:31)
- {! d7 h7 ]: P6 ^ 10-12 用redux-thunk管理登录状态 (18:44)
9 k. b% Q4 x7 j+ H 第11章 用 react-query 获取数据,管理缓存
0 Y0 ]; \" ~$ D& x4 h 11-1 用url参数管理项目模态框状态 (11:18)
11-2 用 react-query 来处理 -服务端缓存- (12:25)
11-3 类型守卫,用useQuery缓存工程列表 (13:00)
' y( g( p, A3 b& P3 w 11-4 编辑和添加工程功能(上) (09:48)
11-5 编辑和添加工程功能(下) (17:21)
11-6 用 react-query 实现乐观更新 (18:33)
, u( R* U) _% Y! k! ^: b 11-7 抽象乐观更新通用hook (21:46)
11-8 修复url多余参数 (04:26)
11-9 跨组件状态管理方案总结 (05:15)
% D7 {' C4 h! o) n1 E6 ~$ _$ x 第12章 看板页面及任务组页面开发
12-1 解决前面的 3 个 Bug (05:15)
J# K% u/ o# l% a9 x6 I8 s 12-2 看板列表开发准备工作 (10:57)
8 p. c/ @3 L% f 12-3 看板列表初步开发 (17:20)
9 R/ p+ C7 I8 b$ g0 D 12-4 添加task, bug 图标 (08:18)
12-5 添加任务搜索功能 (09:33)
- ?# m! v7 _8 m6 g ~2 H 12-6 优化看板样式 (11:01)
' A- y( Q4 F2 c5 W 12-7 创建看板与任务 (15:19)
12-8 编辑任务功能 (14:31)
12-9 看板和任务删除功能 (14:19)
12-10 拖拽实现(上) (16:05)
12-11 拖拽实现(下) (05:38)
- m; Y. h- u7 ~4 E$ P- b# Y 12-12 拖拽持久化(上) (07:24)
# l& H" a' m7 k 12-13 拖拽持久化 (下) (16:57)
( L% n4 J5 `% l4 \+ `7 m 12-14 排序乐观更新 (06:01)
12-15 任务组页面 (上) (12:41)
6 n- C& b' W- b/ j( ?' K 12-16 任务组页面(下) (11:24)
! B0 w# s% |" k6 ?0 m1 g 12-17 完成popover (04:06)
( {* u& U4 |1 h7 A& L* P5 [9 D 12-18 开发完成,部署页面 (08:52)
第13章 自动化测试
3 }' X7 ]% q! b* b! n 13-1 自动化测试简介 (03:04)
n1 @- ?$ H, O 13-2 传统单元测试 (13:12)
3 L% F. v+ G1 j' j1 G# v$ k 13-3 自动化测试 hook (10:15)
13-4 自动化测试组件 (04:31)
第14章 课程结束
. Y7 K @ [0 o P" }, C7 K〖视频截图〗: