React 实战进阶 45 讲
王沛
eBay 中国研发中心资深技术专家
35694 人已学习
新⼈⾸单¥68
课程目录
已完结/共 46 讲
React 实战进阶 45 讲
登录|注册
留言
10
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 26 | 拆分复杂度(3):如何组织React Router的路由配置
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
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、Reducer
13 | Redux(3) : 在React中使用Redux
14 | Redux(4) : 理解异步Action、Redux中间件
15 | Redux(5) : 如何组织Action和Reducer
16 | Redux(6) : 理解不可变数据(Immutability)
17 | React Router(1):路由不只是页面切换,更是代码组织方式
18 | React Router(2):参数定义,嵌套路由的使用场景
19 | UI组件库对比和介绍:Ant.Design、Material UI、Semantic UI
20 | 使用Next.js创建React同构应用
21 | 使用Jest、Enzyme等工具进行单元测试
22 | 常用开发调试工具:ESLint、Prettier、React DevTool、Redux DevTool
23 | 前端项目的理想架构:可维护、可扩展、可测试、易开发、易建构
24 | 拆分复杂度(1):按领域模型(feature)组织代码,降低耦合度
25 | 拆分复杂度(2):如何组织component、action和reducer
26 | 拆分复杂度(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进行性能调优&结课测试
本节摘要

拆分复杂度代码:

拆分复杂度的代码是通过 Rekit 创建的项目演示的,你可以本地创建一个项目,只需 3 步:

  1. 安装 Rekit:
复制代码
npm install -g rekit
  1. 创建项目:
复制代码
rekit create my-app
  1. 安装依赖并启动项目:
复制代码
npm install
npm start

课程源代码地址:

登录 后留言

全部留言(10)

  • 最新
  • 精选
Feng
在学习此专栏之前完全不懂为什么可以这样配置路由,但是听到这个章节,终于吧之前在ant_d里看到的这种写法串上了,有种没出息的惊喜感,哈哈,这样很开心,老师的讲解很清晰;即使有疑惑,但是带着疑惑似乎总有合适的时机能解开疑惑~

作者回复: 谢谢认可!

2019-02-18
5
wYnne
老师 你现在跟我们讲的是基于feature(我理解下来是功能特征)来分别 然后实现高内聚低耦合。 那如果说 我有一个表格控件 在很多业务场景下都使用, 每个地方都需要更改一下这个控件的一些属性,但可以统一封装(在initialstate中增加对象),那我现在需要去封装这个table 还是说每个地方都新建一个table的模块? 谢谢老师!

作者回复: 业务通用的组件,可以放在 common feature 下面封装成公用的 table 组件。然后每个 feature 去引用。

2019-02-27
4
jeffacode
这里的路由配置只适合v3版本吗?v4版本的嵌套规则已经变了,不适合这种集中式的管理了。

作者回复: 这个配置是 v3 的语法,但是在 Rekit app 中已经做过转换以支持 v4。

2018-11-27
1
Ruios
请问如果是react-router@4也可以这样写吗?(>﹏<)

作者回复: 可以的,演示的就是v4版本

2018-07-24
1
菠菜哥
我用的是V4可以这样玩吗?是不是只能V3这样搞呢?暂时还没用过rekit

作者回复: 课程例子就是 v4,Rekit 项目的 Root.js 会把 json render 成 v4 的 tag

2019-02-14
Geek_5b0aa0
老师 这堂课 routerConfig的源码在哪里啊。https://codesandbox.io/s/6n20nrzlxz这里也没有25将
2019-05-16
4
Xiaojianjun_jason
没听懂为什么顶层路由要用 json 配置~
2022-07-04
1
davidzhou
routeConfig怎么挂载到app.js里面的,没看懂
2021-03-19
.NET CORE
执行 “rekit create my-app” 命令报错,错误如下: rekit : 无法加载文件 C:\Users\power\AppData\Roaming\npm\rekit.ps1。未对文件 C:\Users\power\AppData\Roaming\npm\rekit.ps 1 进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅 https:/go.microsoft.com/fwlink /?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 + rekit create my-app + ~~~~~ + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess PS C:\Users\power> PS C:\Users\power> 极客时间版权所有: https://time.geekbang.org/course/detail/100009301-11281
2020-03-27
2
李小伟
老师,提个建议,从第一课,到这里,都没看到如何初始化一个全新的react项目,以及你说的每个工具,怎么安装。这个不是给新手看的
2019-12-23
1
收起评论