React 实战进阶 45 讲
王沛
eBay 中国研发中心资深技术专家
35694 人已学习
新⼈⾸单¥68
课程目录
已完结/共 46 讲
React 实战进阶 45 讲
登录|注册
留言
16
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 18 | React Router(2):参数定义,嵌套路由的使用场景
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进行性能调优&结课测试
登录 后留言

全部留言(16)

  • 最新
  • 精选
Abby的冬瓜
老师,如果想要传递更多的参数到新页面,不能在url上带上这些参数该怎么办呢?

作者回复: 放到store里

2019-04-23
2
Bob_jc
history怎么使用呢? 我查询文章只能将组件使用高阶组件WithRouter,然后使用this.props.history.xx。当时我想在saga里面使用history转跳就不会弄了。 说下我的使用场景,我是在saga里面异步验证登录,成功就把信息写入session,并转跳主页。 是否有其他实现方式?感谢

作者回复: 第一,不建议在 saga 中使用 history 进行跳转。saga 中应该都是没有副作用的纯函数,可以在调用 action 的地方根据状态变化在组件中进行跳转。第二,如果要在组件之外使用 history,可以创建一个全局唯一的 history 对象,设置 react router 时使用这个 history 对象,其它要用的地方也都使用之,这样就不需要依赖组件了。例如:http://demo.rekit.org/element/src%2Fcommon%2Fhistory.js/code 就是 Rekit Studio 中使用的全局唯一 history 实例。

2018-09-11
1
靠近我,温暖你
老师, MemoryRouter, 我看到你在c16这个使用没有报错为什么我在线上的demo里面用却报错了Warning: Failed context type: The context `router` is marked as required in `Link`, but its value is `undefined`. The above error occurred in the <Link> component: The above error occurred in the <Link> component: The above error occurred in the <Link> component: The above error occurred in the <Route> component: The above error occurred in the <Route> component: The above error occurred in the <Route> component:

作者回复: 这个是开发时报的错,应该和 react-router 版本有关系。

2019-10-27
Steve
老师,用Rekit生成框架代码后。route的根是App,我有一个永远置顶的App Bar。我想是在App里放置包含header, page container和footer的全局layout。App bar放在header中,然后所有features都会作为App的children,在对应的path被访问时,会在page container中被render。我想的对吗?

作者回复: 是的,公共部分可以放在 App 里。也可以有二级或更深级的 page container,比如自带的 examples 示例,公共部分就是左边的菜单。

2019-02-01
老玉米
老师,如果子组件是一个class,那么该如何访问id?

作者回复: 额,不太理解你说的问题|

2018-11-23
2
梦丹
老师,react4多路由 刷新的时候会出现404的情况,需要op配合配置吗

作者回复: 这应该是服务器端没有做 history fallback, 可以在服务器端实现一下。或者前端使用 HashRouter 替代 BrowserRouter。

2018-09-05
梦丹
老师,react4 多路由刷新的时候会出现404的情况,

作者回复: 刷新404一定是服务器端的问题,服务器端需要支持 history api fallback 才能正确的把路由交给前端处理。

2018-09-05
Format
老师你好,react-router4中如何做到想vue-router2中一样编程式导航呢?例如:给react一组件按钮上绑定组件跳转事件 。假如不像vue-router的方式写,那怎么写好一些呢? 第二个问题 当组件间路由切换时候,导航钩子需要怎么写好呢? 我受限于vue的思想,所以一下子转变不过来了

作者回复: 关于路由跳转问题,在 v4 中可以用React Router 提供的 Prompt 组件来提示用户确认离开页面。不过 Prompt 只能是完全离开当前应用。在应用内的页面切换需要自己在跳转的代码处加判断。并不像之前的 v2, v3 版本可以用 onEnter, onLeave 的钩子。这个是 React Router v4 的一个缺点。

2018-08-23
Format
老师你好,react-router4 怎么像vue-router2一样编程式路由导航呢? 例如:组件中有个按钮,给这个按钮绑定跳转路由事件 还有跳转之前的导航钩子如何写好些呢,主要是我受限于vue的思想了

作者回复: 跳转可以用history.push/replace(‘mypath’).

2018-08-23
厉害了,这可以从3k学到15k
2019-04-05
1
3
收起评论