新書推薦:
《
大学问·明清经济史讲稿
》
售價:HK$
70.8
《
中国国际法年刊(2023)
》
售價:HK$
115.6
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:HK$
217.8
《
基于鲲鹏的分布式图分析算法实战
》
售價:HK$
108.9
《
夺回大脑 如何靠自己走出强迫
》
售價:HK$
65.8
《
图解机械工程入门
》
售價:HK$
96.8
《
中文版SOLIDWORKS 2024机械设计从入门到精通(实战案例版)
》
售價:HK$
98.9
《
旷野人生:吉姆·罗杰斯的全球投资探险
》
售價:HK$
75.9
|
編輯推薦: |
全面深入讲述React技术栈的第 1 本原创图书,Strikingly联合创始人及CTO郭达峰作序推荐,pure render专栏主创倾力打造 覆盖React、Flux、Redux及可视化,帮助开发者在实践中深入理解技术和源码 前端组件化主流解决方案,一本书玩转React全家桶
|
內容簡介: |
本书从几个维度去介绍 React。一是作为 View 库,它怎么实现组件化,以及它背后的实现原理。二是扩展到 Flux 应用架构及重要的衍生品 Redux,它们怎么与 React 结合做应用开发。三是对 React 与 server 的碰撞产生的一些思考。四是讲述它在可视化方面的优势与劣势。 本书适合有一定经验的前端开发人员阅读。
|
關於作者: |
陈屹,前端架构师,就职于阿里巴巴。热衷开源事业,长年专注于前端架构、数据可视化、Node.js等领域,知乎专栏pure render的创办人。
|
目錄:
|
第1章 初入 React 世界1
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章 漫淡 React48
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 玩转 React Transition113
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章 解读 React 源码134
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 React Patch 方法181
3.7 小结183
第4章 认识 Flux 架构模式184
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章 深入 Redux 应用架构208
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 Redux middleware212
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章 Redux 高阶运用259
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 Redux CRUD 实战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章 React 服务端渲染295
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章 玩转 React 可视化308
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 Koa middleware349
|
|