深入浅出React和Redux pdf

下载地址:网盘下载

内容简介  · · · · · ·

本书作者是资深开发人员,有过多年的开发经验,总结了自己使用React和Redux的实战经验,系统分析React和Redux结合的优势,与开发技巧,为开发大型系统提供参考。主要内容包括:React的基础知识、如何设计易于维护的React组件、如何使用Redux控制数据流、React和Redux的相结合的方式、同构的React和Redux架构、React和Redux的性能优化、组件的测试等。

作者简介  · · · · · ·

程墨 资深架构师,曾任职于摩托罗拉、雅虎和微软,云鸟配送平台联合创始人,目前服务于美国视频服务公司Hulu

目录  · · · · · ·

前言
第1章 React新的前端思维方式1
1.1 初始化一个React项目1
1.2 增加一个新的React组件3
1.2.1 JSX6
1.2.2 JSX是进步还是倒退7
1.3 分解React应用8
1.4 React的工作方式10
1.4.1 jQuery如何工作10
1.4.2 React的理念11
1.4.3 Virtual DOM12
1.4.4 React工作方式的优点13
1.5 本章小结14
第2章 设计高质量的React组件16
2.1 易于维护组件的设计要素16
2.2 React组件的数据17
2.2.1 React的prop18
2.2.2 React的state22
2.2.3 prop和state的对比24
2.3 组件的生命周期25
2.3.1 装载过程25
2.3.2 更新过程30
2.3.3 卸载过程34
2.4 组件向外传递数据34
2.5 React组件state和prop的局限37
2.6 本章小结39
第3章 从Flux到Redux40
3.1 Flux40
3.1.1 MVC框架的缺陷41
3.1.2 Flux应用43
3.1.3 Flux的优势53
3.1.4 Flux的不足54
3.2 Redux56
3.2.1 Redux的基本原则56
3.2.2 Redux实例59
3.2.3 容器组件和傻瓜组件64
3.2.4 组件Context67
3.2.5 React-Redux71
3.3 本章小结73
第4章 模块化React和Redux应用75
4.1 模块化应用要点75
4.2 代码文件的组织方式76
4.2.1 按角色组织76
4.2.2 按功能组织78
4.3 模块接口79
4.4 状态树的设计81
4.4.1 一个状态节点只属于一个模块82
4.4.2 避免冗余数据82
4.4.3 树形结构扁平83
4.5 Todo应用实例83
4.5.1 Todo状态设计84
4.5.2 action构造函数86
4.5.3 组合reducer87
4.5.4 Todo视图90
4.5.5 样式 98
4.5.6 不使用ref99
4.6 开发辅助工具100
4.6.1 Chrome扩展包100
4.6.2 redux-immutable-state-invariant辅助包101
4.6.3 工具应用101
4.7 本章小结103
第5章 React组件的性能优化105
5.1 单个React组件的性能优化105
5.1.1 发现浪费的渲染时间106
5.1.2 性能优化的时机107
5.1.3 React-Redux的should-ComponentUpdate实现108
5.2 多个React组件的性能优化115
5.2.1 React的调和(Reconciliation)过程116
5.2.2 Key的用法120
5.3 用reselect提高数据获取性能122
5.3.1 两阶段选择过程123
5.3.2 范式化状态树125
5.4 本章小结127
第6章 React高级组件129
6.1 高阶组件129
6.1.1 代理方式的高阶组件132
6.1.2 继承方式的高阶组件136
6.1.3 高阶组件的显示名139
6.1.4 曾经的React Mixin139
6.2 以函数为子组件140
6.2.1 实例CountDown142
6.2.2 性能优化问题145
6.3 本章小结146
第7章 Redux和服务器通信147
7.1 React组件访问服务器147
7.1.1 代理功能访问API148
7.1.2 React组件访问服务器的生命周期150
7.1.3 React组件访问服务器的优缺点153
7.2 Redux访问服务器154
7.2.1 redux-thunk中间件154
7.2.2 异步action对象 156
7.2.3 异步操作的模式157
7.2.4 异步操作的中止 163
7.3 Redux异步操作的其他方法165
7.3.1 如何挑选异步操作方式165
7.3.2 利用Promise实现异步操作167
7.4 本章小结 167
第8章 单元测试168
8.1 单元测试的原则168
8.2 单元测试环境搭建170
8.2.1 单元测试框架170
8.2.2 单元测试代码组织172
8.2.3 辅助工具173
8.3 单元测试实例175
8.3.1 action构造函数测试175
8.3.2 异步action构造函数测试176
8.3.3 reducer测试178
8.3.4 无状态React组件测试178
8.3.5 被连接的React组件测试179
8.4 本章小结180
第9章 扩展Redux182
9.2 中间件182
9.1.1 中间件接口183
9.1.2 使用中间件186
9.1.3 Promise中间件187
9.1.4 中间件开发原则190
9.2 Store Enhancer 191
9.2.1 增强器接口191
9.2.2 增强器实例reset192
9.3 本章小结194
第10章 动画195
10.1 动画的实现方式195
10.1.1 CSS3方式195
10.1.2 脚本方式197
10.2 ReactCSSTransitionGroup199
10.2.1 Todo应用动画200
10.2.2 ReactCSSTransitionGroup规则202
10.3 React-Motion动画库205
10.3.1 React-Motion的设计原则205
10.3.2 Todo应用动画206
10.4 本章小结210
第11章 多页面应用211
11.1 单页应用211
11.2 React-Router213
11.2.1 路由213
11.2.2 路由链接和嵌套216
11.2.3 默认链接218
11.2.4 集成Redux219
11.3 代码分片221
11.3.1 弹射和配置webpack224
11.3.2 动态加载分片225
11.3.3 动态更新Store的reducer和状态228
11.4 本章小结234
第12章 同构235
12.1 服务器端渲染vs浏览器端渲染235
12.2 构建渲染动态内容服务器239
12.2.1 设置Node.js和Express240
12.2.2 热加载242
12.3 React同构246
12.3.1 React服务器端渲染HTML247
12.3.2 脱水和注水248
12.3.3 服务器端Redux Store249
12.3.4 支持服务器和浏览器获取共同数据源250
12.3.5 服务器端路由251
12.4 同构实例252
12.5 本章小结257
结语258

下载地址:网盘下载

原文地址:https://www.cnblogs.com/longgg/p/8419237.html

时间: 2024-11-08 09:16:40

深入浅出React和Redux pdf的相关文章

React:redux+router4搭建应用骨架

短期内关于react的对后一篇笔记.假设读者对redux和router4有基本了解. 缘由: 现在网上很多关于react+redux的文章都是沿用传统的文件组织形式,即: |--components |--reducers |--actionTypes |--actions |--else 这样的目录形式.这种形式的一个好处是:store中的状态一开始就是完整的,在按需加载的时候不需要特意更新root reducer和全局state树,只加载对应的视图即可. 但是,笔者在学习<深入浅出react

深入浅出React Native 3: 从零开始写一个Hello World

这是深入浅出React Native的第三篇文章. 1. 环境配置 2. 我的第一个应用 将index.ios.js中的代码全部删掉,为什么要删掉呢?因为我们准备从零开始写一个应用~学习技术最好的方式就是自己动手写,看别人的代码一百遍的效果也不如自己写一遍来的效果大~ 我们要做的事情主要分成以下两步: 1. 创建组件 2. 将创建好的组件显示在app上 打开index.ios.js文件,输入 var HelloWorld = React.createClass({ render: functio

最新的chart 聊天功能( webpack2 + react + router + redux + scss + nodejs + express + mysql + es6/7)

请表明转载链接:http://www.cnblogs.com/zhangkunweb/p/6853728.html 我是一个喜欢捣腾的人,没事总喜欢学点新东西,可能现在用不到,但是不保证下一刻用不到. 我一直从事的是依赖angular.js 的web开发,但是我怎么能一直用它呢?看看最近火的一塌糊涂的reactjs ,我的天啊,不学会它,怎么能睡好觉. 今天我分享一个依赖最新版本的webpack + react + router + redux + scss + nodejs + mysql +

React、Redux 和 Bootstrap

使用 React.Redux 和 Bootstrap 实现 Alert 今天,我们来学习使用 React.Redux 和 Bootstrap 实现Alert. 例子 这个例子实现了弹出不同类型信息的功能,这些信息默认会在5秒后消失,你也可以手动点击使其消失.如果你在服务端有信息要提示,还可以通过 Redux 的单一数据源传到客户端在渲染页面时显示出来. 源代码: https://github.com/lewis617/react-redux-tutorial/tree/master/r2-bs-

基于 React.js + Redux + Bootstrap 的 Ruby China 示例

最近在学习前端的各大流行框架, 主要学习了 Vue.js 和 React.js, 前段时间用 Vue.js + uikit 实现了 V2EX 的克隆版本, 最近又用 React.js + redux + bootstrap 实现了 RubyChina 的克隆版本, 两个项目都支持响应式布局. 不得不说这是学习新知识的一个有效途径. 这两个项目都比较合适学习 Vue.js 和 React.js 的朋友参考. Vue.js + V2EX 项目 代码地址: https://github.com/liu

深入浅出React Native 2: 我的第一个应用

这是深入浅出React Native教程的第二篇文章,第一篇为环境配置. React Native环境配好之后,就可以开始创建我们的第一个App啦. 打开控制台,输入 react-native init AwesomeProject 上述命令的作用是在当前文件夹下创建一个名字叫AwesomeProject的项目模板.在运行该命令之前,可以先用cd命令到自己想创建react native的文件夹下. 当然,比较坑的是,执行这个命令会用耗费很长很长的时间,有时候还会出现各种各样的错误,例如,没有权限

分针网—每日分享:说一说 React 和 Redux 你知道或者不知道的一些事情

本文介绍一下自己在使用React和Redux过程中的一些思考,主要面向初学者. 1. 为什么要有redux 传统前端开发中,把模板和功能逻辑分开作为一种最佳实践,React采用了不同的思路,通过组件把模板和逻辑组合在一起.但是React也并不是一个完整的组件化框架,其组件化只是主要集中在展示层面,如果要构建复杂的应用,在React component中放置太多的逻辑代码,不仅组件化的初衷复用性会降低,从代码维护的角度看也不合理. Flux是Facebook提出的一种前端架构模式,通过Flux的数

【前端,干货】react and redux教程学习实践(二)。

前言 这篇博文接 [前端]react and redux教程学习实践,浅显易懂的实践学习方法. ,上一篇简略的做了一个redux的初级demo,今天深入的学习了一些新的.有用的,可以在生产项目中使用的前端架构,我将尽量以最简单的语言描述,如果有童鞋看不懂,也可以私下问我. 复习 前一节我们已经知道,一个redux应用,主要有几个概念,它们的共同作用都是管理一个全局state,使react组件的state集中处理,想一下你在写react组件的时候,组件的state总是或多或少与父级组件有关联,一般

深入浅出React(一):React的设计哲学 - 简单之美

编者按:自2013年Facebook发布以来,React吸引了越来越多的开发者,基于它的衍生技术,如React Native.React Canvas等也层出不穷.InfoQ精心策划"深入浅出React"系列文章,为读者剖析React开发的技术细节. React最初来自Facebook内部的广告系统项目,项目实施过程中前端开发遇到了巨大挑战,代码变得越来越臃肿且混乱不堪,难以维护.于是痛定思痛,他们决定抛开很多所谓的"最佳实践",重新思考前端界面的构建方式,于是就有