We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.1 React 简介 1 1.1.1 专注视图层 1 1.1.2 Virtual DOM1 1.1.3 函数式编程 2 1.2 JSX 语法 3 1.2.1 JSX 的由来 3 1.2.2 JSX 基本语法 7 1.3 React 组件 11 1.3.1 组件的演变 11 1.3.2 React 组件的构建 18 1.4 React 数据流 21 1.4.1 state21 1.4.2 props23 1.5 React 生命周期 29 1.5.1 挂载或卸载过程 29 1.5.2 数据更新过程 30 1.5.3 整体流程 33 1.6 React 与 DOM34 1.6.1 ReactDOM35 1.6.2 ReactDOM 的不稳定方法 36 1.6.3 refs38 1.6.4 React 之外的 DOM 操作 40 1.7 组件化实例:Tabs 组件 41 1.8 小结 47
2.1 事件系统 48 2.1.1 合成事件的绑定方式 48 2.1.2 合成事件的实现机制 49 2.1.3 在 React 中使用原生事件 51 2.1.4 合成事件与原生事件混用 51 2.1.5 对比 React 合成事件与 JavaScript 原生事件 54 2.2 表单 55 2.2.1 应用表单组件 55 2.2.2 受控组件 60 2.2.3 非受控组件 61 2.2.4 对比受控组件和非受控组件 62 2.2.5 表单组件的几个重要属性 63 2.3 样式处理 64 2.3.1 基本样式设置 64 2.3.2 CSS Modules66 2.4 组件间通信 74 2.4.1 父组件向子组件通信 74 2.4.2 子组件向父组件通信 75 2.4.3 跨级组件通信 77 2.4.4 没有嵌套关系的组件通信 79 2.5 组件间抽象 81 2.5.1 mixin81 2.5.2 高阶组件 86 2.5.3 组合式组件开发实践 93 2.6 组件性能优化 97 2.6.1 纯函数 97 2.6.2 PureRender100 2.6.3 Immutable103 2.6.4 key109 2.6.5 react—addons—perf110 2.7 动画 111 2.7.1 CSS 动画与 JavaScript 动画 111 2.7.2 玩转 ReactTransition113 2.7.3 缓动函数 116 2.8 自动化测试 121 2.8.1 Jest121 2.8.2 Enzyme124 2.8.3 自动化测试 125 2.9 组件化实例:优化 Tabs 组件 125 2.10 小结 133
3.1 初探 React 源码 134 3.2 Virtual DOM 模型 137 3.2.1 创建 React 元素 138 3.2.2 初始化组件入口 140 3.2.3 文本组件 141 3.2.4 DOM 标签组件 144 3.2.5 自定义组件 150 3.3 生命周期的管理艺术 151 3.3.1 初探 React 生命周期 152 3.3.2 详解 React 生命周期 152 3.3.3 无状态组件 163 3.4 解密 setState 机制 164 3.4.1 setState 异步更新 164 3.4.2 setState 循环调用风险 165 3.4.3 setState 调用栈 166 3.4.4 初识事务 168 3.4.5 解密 setState170 3.5 diff 算法 172 3.5.1 传统 diff 算法 172 3.5.2 详解 diff172 3.6 ReactPatch 方法 181 3.7 小结 183
4.1 React 独立架构 184 4.2 MV * 与 Flux190 4.2.1 MVC/MVVM190 4.2.2 Flux 的解决方案 193 4.3 Flux 基本概念 194 4.4 Flux 应用实例 198 4.4.1 初始化目录结构 198 4.4.2 设计 store198 4.4.3 设计 actionCreator200 4.4.4 构建 controller—view202 4.4.5 重构 view203 4.4.6 添加单元测试 205 4.5 解读 Flux206 4.5.1 Flux 核心思想 206 4.5.2 Flux 的不足 207 4.6 小结 207
5.1 Redux 简介 208 5.1.1 Redux 是什么 208 5.1.2 Redux 三大原则 209 5.1.3 Redux 核心 API210 5.1.4 与 React 绑定 211 5.1.5 增强 Flux 的功能 212 5.2 Reduxmiddleware212 5.2.1 middleware 的由来 212 5.2.2 理解 middleware 机制 213 5.3 Redux 异步流 217 5.3.1 使用 middleware 简化异步请求 217 5.3.2 使用 middleware 处理复杂异步流 221 5.4 Redux 与路由 224 5.4.1 React Router225 5.4.2 React Router Redux227 5.5 Redux 与组件 229 5.5.1 容器型组件 229 5.5.2 展示型组件 229 5.5.3 Redux 中的组件 230 5.6 Redux 应用实例 231 5.6.1 初始化 Redux 项目 231 5.6.2 划分目录结构 232 5.6.3 设计路由 234 5.6.4 让应用跑起来 235 5.6.5 优化构建脚本 239 5.6.6 添加布局文件 239 5.6.7 准备首页的数据 242 5.6.8 连接 Redux245 5.6.9 引入 Redux Devtools250 5.6.10 利用 middleware 实现 Ajax 请求发送 251 5.6.11 请求本地的数据 252 5.6.12 页面之间的跳转 253 5.6.13 优化与改进 256 5.6.14 添加单元测试 257 5.7 小结 258
6.1 高阶 reducer259 6.1.1 reducer 的复用 259 6.1.2 reducer 的增强 261 6.2 Redux 与表单 262 6.2.1 使用 redux—form—utils 减少创建表单的冗余代码 263 6.2.2 使用 redux—form 完成表单的异步验证 265 6.2.3 使用高阶 reducer 为现有模块引入表单功能 267 6.3 ReduxCRUD 实战 268 6.3.1 准备工作 268 6.3.2 使用 Table 组件完成 “查” 功能 269 6.3.3 使用 Modal 组件完成 “增” 与 “改”274 6.3.4 巧用 Modal 实现数据的删除确认 277 6.3.5 善用 promise 玩转 Redux 异步事件流 278 6.4 Redux 性能优化 279 6.4.1 Reselect280 6.4.2 Immutable Redux282 6.4.3 Reducer 性能优化 282 6.5 解读 Redux284 6.5.1 参数归一化 285 6.5.2 初始状态及 getState286 6.5.3 subscribe286 6.5.4 dispatch287 6.5.5 replaceReducer288 6.6 解读 react—redux288 6.6.1 Provider288 6.6.2 connect290 6.6.3 代码热替换 293 6.7 小结 294
7.1 React 与服务端模板 295 7.1.1 什么是服务端渲染 295 7.1.2 react—view296 7.1.3 react—view 源码解读 296 7.2 React 服务端渲染 299 7.2.1 玩转 Node.js300 7.2.2 React—Router 和 Koa—Router 统一 303 7.2.3 同构数据处理的探讨 306 7.3 小结 307
8.1 React 结合 Canvas 和 SVG308 8.1.1 Canvas 与 SVG308 8.1.2 在 React 中的 Canvas310 8.1.3 React 中的 SVG311 8.2 React 与可视化组件 316 8.2.1 包装已有的可视化库 316 8.2.2 使用 D3 绘制 UI 部分 317 8.2.3 使用 React 绘制 UI 部分 319 8.3 Recharts 组件化的原理 322 8.3.1 声明式的标签 323 8.3.2 贴近原生的配置项 325 8.3.3 接口式的 API326 8.4 小结 328 附录 A 开发环境 329 附录 B 编码规范 345 附录 C Koamiddleware349
The text was updated successfully, but these errors were encountered:
力荐 这本书相较于《深入浅出 React 和 Redux》更加深入,还有源码解析部分。
Sorry, something went wrong.
No branches or pull requests
1.1 React 简介 1
1.1.1 专注视图层 1
1.1.2 Virtual DOM1
1.1.3 函数式编程 2
1.2 JSX 语法 3
1.2.1 JSX 的由来 3
1.2.2 JSX 基本语法 7
1.3 React 组件 11
1.3.1 组件的演变 11
1.3.2 React 组件的构建 18
1.4 React 数据流 21
1.4.1 state21
1.4.2 props23
1.5 React 生命周期 29
1.5.1 挂载或卸载过程 29
1.5.2 数据更新过程 30
1.5.3 整体流程 33
1.6 React 与 DOM34
1.6.1 ReactDOM35
1.6.2 ReactDOM 的不稳定方法 36
1.6.3 refs38
1.6.4 React 之外的 DOM 操作 40
1.7 组件化实例:Tabs 组件 41
1.8 小结 47
2.1 事件系统 48
2.1.1 合成事件的绑定方式 48
2.1.2 合成事件的实现机制 49
2.1.3 在 React 中使用原生事件 51
2.1.4 合成事件与原生事件混用 51
2.1.5 对比 React 合成事件与 JavaScript 原生事件 54
2.2 表单 55
2.2.1 应用表单组件 55
2.2.2 受控组件 60
2.2.3 非受控组件 61
2.2.4 对比受控组件和非受控组件 62
2.2.5 表单组件的几个重要属性 63
2.3 样式处理 64
2.3.1 基本样式设置 64
2.3.2 CSS Modules66
2.4 组件间通信 74
2.4.1 父组件向子组件通信 74
2.4.2 子组件向父组件通信 75
2.4.3 跨级组件通信 77
2.4.4 没有嵌套关系的组件通信 79
2.5 组件间抽象 81
2.5.1 mixin81
2.5.2 高阶组件 86
2.5.3 组合式组件开发实践 93
2.6 组件性能优化 97
2.6.1 纯函数 97
2.6.2 PureRender100
2.6.3 Immutable103
2.6.4 key109
2.6.5 react—addons—perf110
2.7 动画 111
2.7.1 CSS 动画与 JavaScript 动画 111
2.7.2 玩转 ReactTransition113
2.7.3 缓动函数 116
2.8 自动化测试 121
2.8.1 Jest121
2.8.2 Enzyme124
2.8.3 自动化测试 125
2.9 组件化实例:优化 Tabs 组件 125
2.10 小结 133
3.1 初探 React 源码 134
3.2 Virtual DOM 模型 137
3.2.1 创建 React 元素 138
3.2.2 初始化组件入口 140
3.2.3 文本组件 141
3.2.4 DOM 标签组件 144
3.2.5 自定义组件 150
3.3 生命周期的管理艺术 151
3.3.1 初探 React 生命周期 152
3.3.2 详解 React 生命周期 152
3.3.3 无状态组件 163
3.4 解密 setState 机制 164
3.4.1 setState 异步更新 164
3.4.2 setState 循环调用风险 165
3.4.3 setState 调用栈 166
3.4.4 初识事务 168
3.4.5 解密 setState170
3.5 diff 算法 172
3.5.1 传统 diff 算法 172
3.5.2 详解 diff172
3.6 ReactPatch 方法 181
3.7 小结 183
4.1 React 独立架构 184
4.2 MV * 与 Flux190
4.2.1 MVC/MVVM190
4.2.2 Flux 的解决方案 193
4.3 Flux 基本概念 194
4.4 Flux 应用实例 198
4.4.1 初始化目录结构 198
4.4.2 设计 store198
4.4.3 设计 actionCreator200
4.4.4 构建 controller—view202
4.4.5 重构 view203
4.4.6 添加单元测试 205
4.5 解读 Flux206
4.5.1 Flux 核心思想 206
4.5.2 Flux 的不足 207
4.6 小结 207
5.1 Redux 简介 208
5.1.1 Redux 是什么 208
5.1.2 Redux 三大原则 209
5.1.3 Redux 核心 API210
5.1.4 与 React 绑定 211
5.1.5 增强 Flux 的功能 212
5.2 Reduxmiddleware212
5.2.1 middleware 的由来 212
5.2.2 理解 middleware 机制 213
5.3 Redux 异步流 217
5.3.1 使用 middleware 简化异步请求 217
5.3.2 使用 middleware 处理复杂异步流 221
5.4 Redux 与路由 224
5.4.1 React Router225
5.4.2 React Router Redux227
5.5 Redux 与组件 229
5.5.1 容器型组件 229
5.5.2 展示型组件 229
5.5.3 Redux 中的组件 230
5.6 Redux 应用实例 231
5.6.1 初始化 Redux 项目 231
5.6.2 划分目录结构 232
5.6.3 设计路由 234
5.6.4 让应用跑起来 235
5.6.5 优化构建脚本 239
5.6.6 添加布局文件 239
5.6.7 准备首页的数据 242
5.6.8 连接 Redux245
5.6.9 引入 Redux Devtools250
5.6.10 利用 middleware 实现 Ajax
请求发送 251
5.6.11 请求本地的数据 252
5.6.12 页面之间的跳转 253
5.6.13 优化与改进 256
5.6.14 添加单元测试 257
5.7 小结 258
6.1 高阶 reducer259
6.1.1 reducer 的复用 259
6.1.2 reducer 的增强 261
6.2 Redux 与表单 262
6.2.1 使用 redux—form—utils 减少创建表单的冗余代码 263
6.2.2 使用 redux—form 完成表单的异步验证 265
6.2.3 使用高阶 reducer 为现有模块引入表单功能 267
6.3 ReduxCRUD 实战 268
6.3.1 准备工作 268
6.3.2 使用 Table 组件完成 “查” 功能 269
6.3.3 使用 Modal 组件完成 “增” 与 “改”274
6.3.4 巧用 Modal 实现数据的删除确认 277
6.3.5 善用 promise 玩转 Redux 异步事件流 278
6.4 Redux 性能优化 279
6.4.1 Reselect280
6.4.2 Immutable Redux282
6.4.3 Reducer 性能优化 282
6.5 解读 Redux284
6.5.1 参数归一化 285
6.5.2 初始状态及 getState286
6.5.3 subscribe286
6.5.4 dispatch287
6.5.5 replaceReducer288
6.6 解读 react—redux288
6.6.1 Provider288
6.6.2 connect290
6.6.3 代码热替换 293
6.7 小结 294
7.1 React 与服务端模板 295
7.1.1 什么是服务端渲染 295
7.1.2 react—view296
7.1.3 react—view 源码解读 296
7.2 React 服务端渲染 299
7.2.1 玩转 Node.js300
7.2.2 React—Router 和 Koa—Router 统一 303
7.2.3 同构数据处理的探讨 306
7.3 小结 307
8.1 React 结合 Canvas 和 SVG308
8.1.1 Canvas 与 SVG308
8.1.2 在 React 中的 Canvas310
8.1.3 React 中的 SVG311
8.2 React 与可视化组件 316
8.2.1 包装已有的可视化库 316
8.2.2 使用 D3 绘制 UI 部分 317
8.2.3 使用 React 绘制 UI 部分 319
8.3 Recharts 组件化的原理 322
8.3.1 声明式的标签 323
8.3.2 贴近原生的配置项 325
8.3.3 接口式的 API326
8.4 小结 328
附录 A 开发环境 329
附录 B 编码规范 345
附录 C Koamiddleware349
The text was updated successfully, but these errors were encountered: