更新时间:2019-01-04 20:51:29
封面
版权信息
前言
第1章 React新的前端思维方式
1.1 初始化一个React项目
1.1.1 create-react-app工具
1.2 增加一个新的React组件
1.2.1 JSX
1.2.2 JSX是进步还是倒退
1.3 分解React应用
1.4 React的工作方式
1.4.1 jQuery如何工作
1.4.2 React的理念
1.4.3 Virtual DOM
1.4.4 React工作方式的优点
1.5 本章小结
第2章 设计高质量的React组件
2.1 易于维护组件的设计要素
2.2 React组件的数据
2.2.1 React的prop
2.2.2 React的state
2.2.3 prop和state的对比
2.3 组件的生命周期
2.3.1 装载过程
2.3.2 更新过程
2.3.3 卸载过程
2.4 组件向外传递数据
2.4.1 应用实例
2.5 React组件state和prop的局限
2.6 本章小结
第3章 从Flux到Redux
3.1 Flux
3.1.1 MVC框架的缺陷
3.1.2 Flux应用
3.1.3 Flux的优势
3.1.4 Flux的不足
3.2 Redux
3.2.1 Redux的基本原则
3.2.2 Redux实例
3.2.3 容器组件和傻瓜组件
3.2.4 组件Context
3.2.5 React-Redux
3.3 本章小结
第4章 模块化React和Redux应用
4.1 模块化应用要点
4.2 代码文件的组织方式
4.2.1 按角色组织
4.2.2 按功能组织
4.3 模块接口
4.4 状态树的设计
4.4.1 一个状态节点只属于一个模块
4.4.2 避免冗余数据
4.4.3 树形结构扁平
4.5 Todo应用实例
4.5.1 Todo状态设计
4.5.2 action构造函数
4.5.3 组合reducer
4.5.4 Todo视图
4.5.5 样式
4.5.6 不使用ref
4.6 开发辅助工具
4.6.1 Chrome扩展包
4.6.2 redux-immutable-state-invariant辅助包
4.6.3 工具应用
4.7 本章小结
第5章 React组件的性能优化
5.1 单个React组件的性能优化
5.1.1 发现浪费的渲染时间
5.1.2 性能优化的时机
5.1.3 React-Redux的shouldComponentUpdate实现
5.2 多个React组件的性能优化
5.2.1 React的调和(Reconciliation)过程
5.2.2 Key的用法
5.3 用reselect提高数据获取性能
5.3.1 两阶段选择过程
5.3.2 范式化状态树
5.4 本章小结
第6章 React高级组件
6.1 高阶组件
6.1.1 代理方式的高阶组件
6.1.2 继承方式的高阶组件
6.1.3 高阶组件的显示名
6.1.4 曾经的React Mixin
6.2 以函数为子组件
6.2.1 实例CountDown
6.2.2 性能优化问题
6.3 本章小结
第7章 Redux和服务器通信
7.1 React组件访问服务器
7.1.1 代理功能访问API
7.1.2 React组件访问服务器的生命周期
7.1.3 React组件访问服务器的优缺点
7.2 Redux访问服务器
7.2.1 redux-thunk中间件
7.2.2 异步action对象
7.2.3 异步操作的模式
7.2.4 异步操作的中止
7.3 Redux异步操作的其他方法
7.3.1 如何挑选异步操作方式
7.3.2 利用Promise实现异步操作