- ISBN:9787111631453
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:248
- 出版时间:2018-05-01
- 条形码:9787111631453 ; 978-7-111-63145-3
本书特色
从React入门到实践再到企业级项目开发,系统介绍以React.js为中心的大前端开发,适合跨平台前端人员阅读
内容简介
本书是一本React入门书,也是一本React实践书,更是一本React企业级项目开发指导书。全书系统地介绍了以React.js为中心的各种开发技术,可以帮助前端开发人员系统地掌握这些知识,提升自己的开发水平。 本书共9章,依次介绍了用Webpack构建项目、模块化与组件开发、React中的事件系统与表单、React+Redux数据流管理、react-router路由、React性能优化原理与方法、React客户端与服务端渲染、自动化测试工具与实战,*后通过一个企业级项目开发实战,带领读者进一步完善并实践React知识。 本书是一本大前端学习入门与实战读物,不仅适合React开发人员阅读,也适合跨平台开发的前端人员阅读,而且还可以作为React全栈开发的“字典”供开发人员随时翻阅。
目录
第1章 React入门1
1.1 开始学习React之前1
1.1.1 下载与使用Node.js和NPM1
1.1.2 模块打包工具之Browserify2
1.1.3 模块打包工具之Webpack3
1.1.4 **个Webpack构建实战6
1.1.5 Webpack loader实战7
1.1.6 Webpack配置详解9
1.1.7 ES 6语法15
1.2 React简介22
1.3 React的特征23
1.3.1 组件化23
1.3.2 虚拟DOM24
1.3.3 单向数据流25
1.4 JSX语法25
1.4.1 JSX简介25
1.4.2 JSX的转译27
1.4.3 JSX的用法29
1.5 Hello World实战训练34
1.5.1 不涉及项目构建的Hello World34
1.5.2 基于Webpack的Hello World35
1.5.3 Hello World进阶39
第2章 React的组件44
2.1 组件的声明方式44
2.1.1 ES 5写法:React.createClass()44
2.1.2 ES 6写法:React.Component45
2.1.3 无状态组件46
2.2 组件的主要成员47
2.2.1 状态(state)47
2.2.2 属性(props)49
2.2.3 render()方法49
2.3 组件之间的通信52
2.3.1 父组件向子组件通信52
2.3.2 子组件向父组件通信53
2.3.3 跨级组件通信54
2.3.4 非嵌套组件通信56
2.4 组件的生命周期58
2.4.1 组件的挂载58
2.4.2 数据的更新过程60
2.4.3 组件的卸载(unmounting)61
2.4.4 错误处理61
2.4.5 老版React中的生命周期62
2.4.6 生命周期整体流程总结63
2.5 组件化实战训练——TodoList64
第3章 React的事件与表单70
3.1 事件系统70
3.1.1 合成事件的事件代理70
3.1.2 事件的自动绑定71
3.1.3 在React中使用原生事件73
3.1.4 合成事件与原生事件混用73
3.2 表单(Forms)75
3.2.1 受控组件75
3.2.2 非受控组件77
3.2.3 受控组件和非受控组件对比78
3.2.4 表单组件的几个重要属性80
3.3 React的样式处理80
3.3.1 基本样式设置80
3.3.2 CSS Modules样式设置82
第4章 React Redux数据流管理86
4.1 Flux架构86
4.1.1 MVC和MVVM86
4.1.2 Flux介绍90
4.1.3 深入Flux91
4.1.4 Flux的缺点96
4.1.5 Flux架构小结97
4.2 Redux状态管理工具97
4.2.1 Redux简介97
4.2.2 Redux的使用场景98
4.2.3 Redux的动机99
4.2.4 Redux三大特性99
4.2.5 Redux的组成——拆解商城购物车实例100
4.2.6 Redux搭配React使用105
4.3 middleware中间件109
4.3.1 为何需要middleware109
4.3.2 深入理解middleware109
4.4 Redux实战训练——网上书店113
4.4.1 目录结构113
4.4.2 应用入口 src/index.js114
4.4.3 Action的创建和触发116
4.4.4 Reducer的创建118
4.4.5 UI展示组件的创建122
4.4.6 发起一个动作Action(添加商品到购物车)124
第5章 路由127
5.1 前端路由简介127
5.2 前端路由的实现原理127
5.2.1 history API方式128
5.2.2 Hash方式129
5.3 react-router路由配置130
5.3.1 react-router的安装131
5.3.2 路由配置131
5.3.3 默认路由132
5.3.4 路由嵌套133
5.3.5 重定向133
5.4 react-router下的history134
5.4.1 browserHistory模式134
5.4.2 hashHistory模式135
5.4.3 createMemoryHistory模式135
5.5 react-router路由切换135
5.5.1 Link标签135
5.5.2 history属性136
5.5.3 传参137
5.6 进入和离开的Hook137
5.6.1 onEnter简介137
5.6.2 onLeave简介138
第6章 React的性能及性能优化139
6.1 diff算法139
6.1.1 时间复杂度和空间复杂度139
6.1.2 diff策略141
6.1.3 key属性148
6.2 组件重新渲染149
6.3 PureRender纯渲染152
6.4 Immutable持久性数据结构库153
6.4.1 Immutable的作用153
6.4.2 Immutable的优缺点155
6.4.3 Immutable和原生JavaScript对象相互转换156
6.4.4 Immutable中的对象比较156
6.4.5 Immutable与React配合使用157
第7章 React服务端渲染159
7.1 客户端渲染和服务端渲染的区别159
7.2 在React中实现服务端渲染160
7.2.1 为何需要服务端渲染160
7.2.2 服务端渲染中的API161
7.2.3 渲染方法161
7.2.4 状态管理165
7.2.5 Express框架简介166
7.2.6 路由和HTTP请求169
7.3 实战训练——服务端渲染172
7.3.1 项目结构172
7.3.2 项目实现172
第8章 自动化测试178
8.1 测试的作用178
8.2 单元测试简介178
8.3 测试工具180
8.3.1 常见的测试工具180
8.3.2 React的测试工具181
8.3.3 单元测试工具Jest181
8.3.4 单元测试工具Enzyme187
8.4 Jest和Enzyme实战训练189
8.4.1 Jest和Enzyme的配置191
8.4.2 测试From组件视图和单击事件193
8.4.3 测试List
作者简介
徐顺发(Allan),贝贝集团前端技术专家。爱折腾,热衷于技术研究和分享。主攻前端架构和各类框架,擅长React.js、Vue.js和Node.js等主流技术栈。曾经获得了2018年Segment Fault Hackathon区块链黑客马拉松冠军。
-
造神:人工智能神话的起源和破除 (精装)
¥32.7¥88.0 -
大数据技术导论(第2版)
¥28.9¥41.0 -
人人都能学AI
¥40.4¥68.0 -
人工智能
¥20.3¥55.0 -
过程控制技术(第2版高职高专规划教材)
¥27.6¥38.0 -
数据结构基础(C语言版)(第2版)
¥41.7¥49.0 -
WPS OFFICE完全自学教程(第2版)
¥97.3¥139.0 -
智能视频目标检测与识别技术
¥43.5¥59.0 -
人工智能基础及应用
¥36.0¥48.0 -
深入浅出软件架构
¥117.2¥186.0 -
计算机网络基础(微课版)
¥39.0¥55.0 -
剪映:即梦AI绘画与视频制作从新手到高手
¥66.0¥89.0 -
Web前端开发基础
¥37.5¥57.0 -
软件设计的哲学(第2版)
¥52.0¥69.8 -
人工智能的底层逻辑
¥58.7¥79.0 -
软件工程理论与案例
¥63.4¥99.0 -
剪映+PREMIERE+AIGC 短视频制作速成
¥73.5¥98.0 -
剪映AI
¥52.0¥88.0 -
数据采集与处理
¥36.4¥49.8 -
PLC结构化文本编程(第2版)
¥57.9¥79.0