当前播放: 32 | 列表页(1):搜索,数据缓存和分页
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章 :React 基础 (10讲)
01 | 课程介绍
免费
02 | React出现的历史背景及特性介绍
免费
03 | 以组件方式考虑UI的构建
免费
04 | JSX的本质 : 不是模板引擎,而是语法糖
免费
05 | React组件的生命周期及其使用场景
06 | 理解Virtual DOM及key属性的作用
07 | 组件设计模式 : 高阶组件和函数作为子组件
08 | 理解新的Context API及其使用场景
09 | 使用脚手架工具创建React项目
10 | 打包和部署
第二章 :React 生态圈 (12讲)
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
第三章 :构建可维护可扩展的前端应用 (6讲)
23 | 前端项目的理想架构:可维护、可扩展、可测试、易开发、易建构
24 | 拆分复杂度(1):按领域模型(feature)组织代码,降低耦合度
25 | 拆分复杂度(2):如何组织component、action和reducer
26 | 拆分复杂度(3):如何组织React Router的路由配置
27 | 使用Rekit(1):创建项目,代码生成和重构
28 | 使用Rekit(2):遵循最佳实践,保持代码一致性
第四章 :常见场景的最佳实践 (13讲)
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中拖放的实现
第五章:React性能优化 (5讲)
42 | 性能永远是第一需求:时刻考虑性能问题
43 | 网络性能优化:自动化按需加载
44 | 使用Reselect避免重复计算
45 | 下一代React:异步渲染
46 | 使用Chrome DevTool进行性能调优&结课测试
32 | 列表页(1):搜索,数据缓存和分页

32 | 列表页(1):搜索,数据缓存和分页

王沛
eBay中国研发中心资深技术专家
全集7544
新人首单 ¥49.9 原价 ¥199
3
本节摘要
展开
登录 后留言

精选留言(5)

  • 漫 🐬 迪
    请问为什么list-page显示不出呢?什么都没改,打开console 有 Error
    Invariant failed: You should not use <withRouter(Connect(ListPage)) /> outside a <Router>
    谢谢!
    2019-07-09
    1
    1
  • 张天三石
    为什么这里翻页通过componentDidUpdate去更新,搜索是直接更新的呢
    2019-03-14
  • Geek_0b2691
    老师有两个问题,
    一个是因为例子中是否Fetchdata的判断放在了componentdidupdate里面,而且是根据路由里面的页数参数判断,所以如果我现在来回切换页数每次也都是会触发Fetchdata的,因此,如果想做多页数据的缓存,我想就需要更改现在的store模型和触发Fetchdata的条件了,请问有没有其他思路的解决方案呢?
    另外一个问题是,如果获取详情需要多个参数(详情页可能由几部分组成),我们都要将参数拼在路由上传过去吗?这样路由不就不就变得很复杂了吗?

    作者回复: 1. 这是一个很常见的场景。如果数据有缓存,那么判断条件除了 url 比较之外,还要看数据有没有,以决定是否获取数据。如果分页缓存,那么 store 里设计一个以 page 为 key 的数据结构一般就可以了。或者做前端分页。2. 是的,路由复杂没有任何问题。只有这样,你才能将 url 发给别人来定位到某个页面。

    2018-12-02
    1
  • 雪疯了
    请问列表页里点击Link标签,只有URL变化,页面不跳转是什么怎么回事

    作者回复: 是说codesandbox 里的示例吗?我看过是可以跳转的,你打开控制台看下是否报错。

    2018-10-13
  • 拉普拉斯
    好像31课的list-page有点问题。第十行getItems。从其他页面切换回来报错

    作者回复: 感谢报告,已经修复,需要给 selector 传递参数。

    2018-08-18
收起评论
看过的人还看
玩转webpack

程柳锋  腾讯高级工程师,IVWEB团队社区和工程化负责人

84讲 | 7540 人已学习

新人首单 ¥19.9 原价 ¥99
TypeScript开发实战

梁宵  搜狗营销事业部高级架构师

47讲 | 4506 人已学习

新人首单 ¥29.9 原价 ¥129
Node.js开发实战

杨浩  腾讯高级工程师

57讲 | 6181 人已学习

新人首单 ¥29.9 原价 ¥129
趣谈网络协议

刘超  网易研究院云计算技术部首席架构师

51讲 | 45985 人已学习

新人首单 ¥19.9 原价 ¥99