01 | 课程介绍02 | React出现的历史背景及特性介绍03 | 以组件方式考虑UI的构建04 | JSX的本质 : 不是模板引擎,而是语法糖05 | React组件的生命周期及其使用场景06 | 理解Virtual DOM及key属性的作用07 | 组件设计模式 : 高阶组件和函数作为子组件08 | 理解新的Context API及其使用场景09 | 使用脚手架工具创建React项目10 | 打包和部署
11 | Redux(1) : 前端为何需要状态管理库12 | Redux(2) : 深入理解Store、Action、Reducer13 | Redux(3) : 在React中使用Redux14 | Redux(4) : 理解异步Action、Redux中间件15 | Redux(5) : 如何组织Action和Reducer16 | Redux(6) : 理解不可变数据(Immutability)17 | React Router(1):路由不只是页面切换,更是代码组织方式18 | React Router(2):参数定义,嵌套路由的使用场景19 | UI组件库对比和介绍:Ant.Design、Material UI、Semantic UI20 | 使用Next.js创建React同构应用21 | 使用Jest、Enzyme等工具进行单元测试22 | 常用开发调试工具:ESLint、Prettier、React DevTool、Redux DevTool
23 | 前端项目的理想架构:可维护、可扩展、可测试、易开发、易建构24 | 拆分复杂度(1):按领域模型(feature)组织代码,降低耦合度25 | 拆分复杂度(2):如何组织component、action和reducer26 | 拆分复杂度(3):如何组织React Router的路由配置27 | 使用Rekit(1):创建项目,代码生成和重构28 | 使用Rekit(2):遵循最佳实践,保持代码一致性
29 | 使用React Router管理登录和授权30 | 实现表单(1):初始数据,提交和跳转31 | 实现表单(2):错误处理,动态表单元素,内容动态加载32 | 列表页(1):搜索,数据缓存和分页33 | 列表页(2):缓存更新,加载状态,错误处理34 | 页面数据需要来源多个请求的处理35 | 内容页的加载与缓存36 | 基于React Router实现分步操作37 | 常见页面布局的实现38 | 使用React Portals实现对话框,使用antd对话框39 | 集成第三方JS库:以d3.js为例40 | 基于路由实现菜单导航41 | React中拖放的实现
42 | 性能永远是第一需求:时刻考虑性能问题43 | 网络性能优化:自动化按需加载44 | 使用Reselect避免重复计算45 | 下一代React:异步渲染46 | 使用Chrome DevTool进行性能调优&结课测试