编辑推荐
全面讲述React技术栈的原创图书,pure render专栏主创倾力打造,覆盖React、Flux、Redux及可视化等内容。
内容简介
本书从几个维度去介绍 React。一是作为 View 库,它怎么实现组件化,以及它背后的实现原理。二是扩展到 Flux 应用架构及重要的衍生品 Redux,它们怎么与 React 结合做应用开发。三是对 React 与 server 的碰撞产生的一些思考。四是讲述它在可视化方面的优势与劣势。
本书适合有一定经验的前端开发人员阅读。
作者简介
作者陈屹,前端架构师,就职于阿里巴巴。热衷开源事业,长年专注于前端架构、数据可视化、Node.js等领域,知乎专栏pure render的创办人。
章节目录
版权信息
序
前言
本书目的
阅读建议
代码规范
保留英文名词
读者反馈
示例代码下载
致谢
第1章 初入React世界
1.1 React简介
1.1.1 专注视图层
1.1.2 Virtual DOM
1.1.3 函数式编程
1.2 JSX语法
1.2.1 JSX的由来
1.2.2 JSX基本语法
1.3 React组件
1.3.1 组件的演变
1.3.2 React组件的构建
1.4 React数据流
1.4.1 state
1.4.2 props
1.5 React生命周期
1.5.1 挂载或卸载过程
1.5.2 数据更新过程
1.5.3 整体流程
1.6 React与DOM
1.6.1 ReactDOM
1.6.2 ReactDOM的不稳定方法
1.6.3 refs
1.6.4 React之外的DOM操作
1.7 组件化实例:Tabs组件
1.8 小结
第2章 漫谈React
2.1 事件系统
2.1.1 合成事件的绑定方式
2.1.2 合成事件的实现机制
2.1.3 在React中使用原生事件
2.1.4 合成事件与原生事件混用
2.1.5 对比React合成事件与JavaScript原生事件
2.2 表单
2.2.1 应用表单组件
2.2.2 受控组件
2.2.3 非受控组件
2.2.4 对比受控组件和非受控组件
2.2.5 表单组件的几个重要属性
2.3 样式处理
2.3.1 基本样式设置
2.3.2 CSS Modules
2.4 组件间通信
2.4.1 父组件向子组件通信
2.4.2 子组件向父组件通信
2.4.3 跨级组件通信
2.4.4 没有嵌套关系的组件通信
2.5 组件间抽象
2.5.1 mixin
2.5.2 高阶组件
2.5.3 组合式组件开发实践
2.6 组件性能优化
2.6.1 纯函数
2.6.2 PureRender
2.6.3 Immutable
2.6.4 key
2.6.5 react-addons-perf
2.7 动画
2.7.1 CSS动画与JavaScript动画
2.7.2 玩转React Transition
2.7.3 缓动函数
2.8 自动化测试
2.8.1 Jest
2.8.2 Enzyme
2.8.3 自动化测试
2.9 组件化实例:优化Tabs组件
2.10 小结
第3章 解读React源码
3.1 初探React源码
3.2 VirtualDOM模型
3.2.1 创建React元素
3.2.2 初始化组件入口
3.2.3 文本组件
3.2.4 DOM标签组件
3.2.5 自定义组件
3.3 生命周期的管理艺术
3.3.1 初探React生命周期
3.3.2 详解React生命周期
3.3.3 无状态组件
3.4 解密setState机制
3.4.1 setState异步更新
3.4.2 setState循环调用风险
3.4.3 setState调用栈
3.4.4 初识事务
3.4.5 解密setState
3.5 diff算法
3.5.1 传统diff算法
3.5.2 详解diff
3.6 ReactPatch方法
3.7 小结
第4章 认识Flux架构模式
4.1 React独立架构
4.2 MV* 与Flux
4.2.1 MVC/MVVM
4.2.2 Flux的解决方案
4.3 Flux基本概念
4.4 Flux应用实例
4.4.1 初始化目录结构
4.4.2 设计store
4.4.3 设计actionCreator
4.4.4 构建controller-view
4.4.5 重构view
4.4.6 添加单元测试
4.5 解读Flux
4.5.1 Flux核心思想
4.5.2 Flux的不足
4.6 小结
第5章 深入Redux应用架构
5.1 Redux简介
5.1.1 Redux是什么
5.1.2 Redux三大原则
5.1.3 Redux核心API
5.1.4 与React绑定
5.1.5 增强Flux的功能
5.2 Redux middleware
5.2.1 middleware的由来
5.2.2 理解middleware机制
5.3 Redux异步流
5.3.1 使用middleware简化异步请求
5.3.2 使用middleware处理复杂异步流
5.4 Redux与路由
5.4.1 React Router
5.4.2 React Router Redux
5.5 Redux与组件
5.5.1 容器型组件
5.5.2 展示型组件
5.5.3 Redux中的组件
5.6 Redux应用实例
5.6.1 初始化Redux项目
5.6.2 划分目录结构
5.6.3 设计路由
5.6.4 让应用跑起来
5.6.5 优化构建脚本
5.6.6 添加布局文件
5.6.7 准备首页的数据
5.6.8 连接Redux
5.6.9 引入Redux Devtools
5.6.10 利用middleware实现Ajax请求发送
5.6.11 请求本地的数据
5.6.12 页面之间的跳转
5.6.13 优化与改进
5.6.14 添加单元测试
5.7 小结
第6章 Redux高阶运用
6.1 高阶reducer
6.1.1 reducer的复用
6.1.2 reducer的增强
6.2 Redux与表单
6.2.1 使用redux-form-utils减少创建表单的冗余代码
6.2.2 使用redux-form完成表单的异步验证
6.2.3 使用高阶reducer为现有模块引入表单功能
6.3 Redux CRUD实战
6.3.1 准备工作
6.3.2 使用Table组件完成“查”功能
6.3.3 使用Modal组件完成“增”与“改”
6.3.4 巧用Modal实现数据的删除确认
6.3.5 善用promise玩转Redux异步事件流
6.4 Redux性能优化
6.4.1 Reselect
6.4.2 Immutable Redux
6.4.3 Reducer性能优化
6.5 解读Redux
6.5.1 参数归一化
6.5.2 初始状态及getState
6.5.3 subscribe
6.5.4 dispatch
6.5.5 replaceReducer
6.6 解读react-redux
6.6.1 Provider
6.6.2 connect
6.6.3 代码热替换
6.7 小结
第7章 React服务端渲染
7.1 React与服务端模板
7.1.1 什么是服务端渲染
7.1.2 react-view
7.1.3 react-view源码解读
7.2 React服务端渲染
7.2.1 玩转Node.js
7.2.2 React-Router和Koa-Router统一
7.2.3 同构数据处理的探讨
7.3 小结
第8章 玩转React可视化
8.1 React结合Canvas和SVG
8.1.1 Canvas与SVG
8.1.2 在React中的Canvas
8.1.3 React中的SVG
8.2 React与可视化组件
8.2.1 包装已有的可视化库
8.2.2 使用D3绘制UI部分
8.2.3 使用React绘制UI部分
8.3 Recharts组件化的原理
8.3.1 声明式的标签
8.3.2 贴近原生的配置项
8.3.3 接口式的API
8.4 小结
附录A 开发环境
A.1 运行开发环境:Node.js
A.2 ES6 编译工具:Babel
A.3 CSS预处理器:Sass
A.4 测试环境:Karma
A.5 工程构建工具:webpack
A.5.1 开发环境配置
A.5.2 线上环境配置
A.6 安装React环境
A.7 小结
附录B 编码规范
B.1 使用ESLint
B.2 使用EditorConfig
B.3 小结
附录C Koa middleware
C.1 generator
C.2 middleware原理分析
看完了
深入React技术栈是2016年由人民邮电出版社出版,作者陈屹。
得书感谢您对《深入React技术栈》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。