React Native全教程 移动端跨平台应用开发
出版时间: 2018年版
内容简介
《React Native全教程:移动端跨平台应用开发》由经验丰富的移动开发工程师精心编撰,《React Native全教程:移动端跨平台应用开发》从逻辑上可分为5个部分,循序渐进地向读者展示使用React Native开发跨平台移动应用的全流程,第1部分介绍React Native语言基础JavaScript;第2部分介绍大量使用于React Native开发中的ECMAScript 6的新特性;第3部分介绍React Native开发技巧,包括独立组件应用、布局技术、网络技术、导航栈技术等;第4部分通过3个实战项目手把手地教读者开发完整的React Native应用;第5部分介绍React Native的一些高级技巧,比如和原生交互、嵌入原生应用、React Native组件开发等。本书特别对React Native在开发iOS和Android 跨平台应用时给出范例效果对比演示,现场感十足。 《React Native全教程:移动端跨平台应用开发》既适合想快速上手React Native的初学者、有Android和iOS开发基础想构建跨平台移动应用的开发人员使用,也可用作培训机构和大中专院校的教学参考书。
目 录
第1章 从JavaScript开始 1
1.1 学习环境的配置 1
1.1.1 使用浏览器进行JavaScript代码的调试 1
1.1.2 使用Sublime Text工具来编写JavaScript代码 3
1.1.3 安装Sublime Text插件管理器PackageControl 3
1.1.4 使用PackageControl进行JavaScript代码智能提示插件的安装 5
1.1.5 安装JavaScript代码格式化插件 7
1.1.6 在Sublime Text中运行JavaScript代码 7
1.2 初识JavaScript 8
1.2.1 JavaScript的语法特点 9
1.2.2 JavaScript中的变量 10
1.3 JavaScript中的数据类型 12
1.3.1 原始类型 13
1.3.2 引用类型 16
1.4 JavaScript中的运算符 18
1.4.1 算术运算符 18
1.4.2 赋值运算符 21
1.4.3 关系运算符 22
1.4.4 逻辑运算符 24
1.4.5 位运算符 26
1.4.6 特殊运算符 30
1.4.7 运算符的优先级与结合性 32
第2章 JavaScript流程控制与函数 34
2.1 条件分支结构 34
2.1.1 if-else分支结构 34
2.1.2 switch-case分支结构 35
2.2 循环结构 37
2.2.1 while循环结构 37
2.2.2 for循环结构 38
2.3 中断与跳转结构 39
2.3.1 break语句 39
2.3.2 continue语句 41
2.4 异常捕获结构 42
2.4.1 使用throw语句抛出异常 43
2.4.2 异常的捕获与处理 44
2.4.3 异常的传递 46
2.5 JavaScript中的函数 48
2.5.1 使用函数语句定义函数 48
2.5.2 使用函数表达式定义函数 50
2.5.3 使用Function构造函数 51
第3章 JavaScript对象基础 52
3.1 初识JavaScript对象 52
3.1.1 在JavaScript中创建对象 52
3.1.2 设置对象的属性和行为 54
3.2 JavaScript中常用的内置对象 55
3.2.1 JavaScript中的Number对象 55
3.2.2 JavaScript中的String对象 57
3.2.3 JavaScript中的Boolean对象 59
3.2.4 JavaScript中的Array对象 60
3.2.5 JavaScript中的Date对象 64
3.2.6 JavaScript中的Math对象 67
3.2.7 JavaScript中的RegExp对象 69
3.2.8 JavaScript中的Function对象 73
3.3 深入JavaScript中的Object对象 75
3.3.1 为对象属性进行配置 76
3.3.2 Object构造方法对象中的常用函数 77
3.3.3 Object实例对象中的常用方法 82
3.4 面向对象编程技术 82
3.4.1 JavaScript中模拟类的方式 83
3.4.2 在JavaScript中实现继承机制 86
第4章 ECMAScript 6新特性 91
4.1 ECMAScript 6的块级作用域 91
4.1.1 let关键字 92
4.1.2 const关键字 94
4.2 解构赋值 95
4.2.1 数组的解构赋值 95
4.2.2 对象的解构赋值 96
4.2.3 字符串与函数参数的解构赋值 98
4.3 箭头函数 99
4.3.1 箭头函数的基本用法 99
4.3.2 箭头函数中this的固化 100
4.4 Set与Map数据结构 102
4.4.1 Set集合结构 102
4.4.2 Map字典结构 104
4.5 Proxy代理 106
4.5.1 使用Proxy代理对对象的属性读写进行拦截 106
4.5.2 Proxy代理处理器支持的拦截操作 108
4.6 Promise承诺对象 110
4.6.1 Promise对象执行异步任务 110
4.6.2 Promise任务链 112
4.6.3 Promise对象组合 113
4.7 Generator生成器与yield语句 115
4.7.1 Generator函数应用 115
4.7.2 Generator任务参数的传递 117
4.8 使用class定义类 119
4.8.1 使用class定义类 119
4.8.2 class类的继承 120
4.9 模块引入 121
4.9.1 export关键字 121
4.9.2 import关键字 122
4.9.3 默认导出与导入 122
第5章 React Native开发环境的搭建 124
5.1 iOS开发环境的搭建 124
5.1.1 申请AppleID账号 124
5.1.2 安装Xcode开发工具 125
5.2 Android开发环境的搭建 126
5.2.1 下载Android Studio开发工具 126
5.2.2 安装相关SDK和模拟器 127
5.3 React Native开发环境配置 130
5.3.1 安装React Native构建环境 130
5.3.2 运行你的第一个React Native应用 131
第6章 React Native独立组件基础篇 134
6.1 Text文本组件的应用 134
6.1.1 文字风格设置 134
6.1.2 Text组件属性的设置 138
6.1.3 Text组件的嵌套 140
6.1.4 React Native程序的调试 141
6.2 Button按钮组件的应用 142
6.2.1 Button组件的简单使用 142
6.2.2 小应用:屏幕霓虹灯 144
6.3 Image图像组件的应用 145
6.3.1 渲染图像的方式 145
6.3.2 Image组件的风格自定义 148
6.3.3 Image组件的属性和方法解析 151
6.4 Switch开关组件的应用 154
6.5 Slider滑块组件的应用 156
6.6 ActivityIndicator指示器组件的应用 159
6.7 TextInput用户输入组件的应用 160
6.8 StatusBar状态栏组件的应用 165
6.9 Picker选择器组件的应用 167
6.10 Modal模态视图组件的应用 169
6.11 KeyboardAvoidingView组件的应用 171
6.12 WebView网页组件的应用 174
6.12.1 WebView常用属性解析 174
6.12.2 WebView加载过程监听相关属性 177
6.12.3 React Native与WebView交互 178
6.13 View视图组件的应用 179
6.13.1 View组件Style属性的解析 180
6.13.2 View组件基础属性的解析 182
6.14 Touchable相关交互组件的应用 183
6.14.1 TouchableWithoutFeedback 184
6.14.2 TouchableOpacity 185
6.14.3 TouchableNativeFeedback 186
6.14.4 TouchableHighlight 188
6.15 ScrollView滚动视图组件的应用 189
6.15.1 ScrollView的基础用法 189
6.15.2 ScrollView常用属性解析 190
6.15.3 手动设置ScrollView组件的滚动位置 192
6.16 ListView列表组件的应用 193
6.16.1 使用DataSource渲染ListView视图 193
6.16.2 ListView属性方法解析 197
6.17 高性能列表组件FlatList 199
6.17.1 创建一个简单的FlatList列表视图 199
6.17.2 FlatList中常用方法解析 202
6.18 分区列表组件SectionList的应用 202
6.19 RefreshControl刷新组件的应用 205
第7章 React Native独立组件高级篇 208
7.1 时间选择器DatePickerIOS组件的应用 208
7.2 DrawerLayoutAndroid抽屉组件的应用 209
7.3 进度条组件的应用 211
7.3.1 通过文件名分平台加载组件 212
7.3.2 ProgressBarAndroid组件常用属性 213
7.3.3 ProgressViewIOS组件常用属性 214
7.4 SegmentedControlIOS组件的应用 214
7.5 Android平台上的工具条组件 215
7.6 Navigator导航控制器 218
7.6.1 Navigatior牛刀小试 219
7.6.2 Navigator属性配置 220
7.6.3 Navigator实例方法解析 221
7.7 iOS平台的导航控制器NavigatorIOS组件 222
7.7.1 使用NavigatorIOS组件 222
7.7.2 NavigatorIOS属性与方法解析 225
7.8 标签栏TabBarIOS组件 226