第 1章 React Native入门
1.1 React Native基本知识 1
1.1.1 React简介 1
1.1.2 React Native简介 4
1.1.3 React Native工作原理 5
1.2 React Native与其他跨平台技术的
对比优势 6
1.2.1 Web流 7
1.2.2 代码转换流 7
1.2.3 编译流 8
1.2.4 虚拟机流 10
1.3 小结 11
第 2章 React Native环境搭建与调试
2.1 React Native环境搭建 12
2.1.1 Mac环境下搭建React Native 12
2.1.2 React Native开发IDE 15
2.1.3 创建React Native项目 16
2.1.4 运行React Native项目 17
2.1.5 iOS环境 18
2.1.6 Android环境 19
2.1.7 Windows环境下搭建React Native 22
2.2 React Native 项目结构剖析 22
2.2.1 React Native文件结构 22
2.2.2 iOS文件结构及代码分析 23
2.2.3 Android文件结构及代码分析 24
2.3 React Native开发IDE介绍 26
2.3.1 Atom+Nuclide 26
2.3.2 WebStrom 29
2.4 React Native调试技巧 30
2.4.1 JavaScript调试技巧 30
2.4.2 React Native调试 33
2.5 React Native代码测试 36
2.5.1 使用Flow进行类型检查 36
2.5.2 使用Jest测试 37
2.5.3 集成测试 37
2.6 小结 38
第3章 React Native开发基础
3.1 FlexBox布局 39
3.1.1 FlexBox简介 39
3.1.2 FlexBox布局模型 40
3.1.3 FlexBox布局属性 41
3.1.4 FlexBox伸缩项目属性 45
3.1.5 FlexBox在React Native中的应用 47
3.1.6 FlexBox综合实例 48
3.2 ES6语法基础 50
3.2.1 组件的导入与导出 51
3.2.2 类 52
3.2.3 状态变量 53
3.2.4 回调函数 54
3.2.5 参数 55
3.2.6 箭头操作符 57
3.2.7 Symbol 57
3.2.8 解构 58
3.3 React JSX 60
3.3.1 JSX入门 60
3.3.2 JSX语法 61
3.4 样式 64
3.4.1 申明与操作样式 64
3.4.2 样式分类 64
3.4.3 样式使用 66
3.4.4 样式传递 67
3.5 手势与触摸事件 68
3.5.1 触摸事件 68
3.5.2 手势系统响应 70
3.5.3 辅助功能 74
3.6 小结 77
第4章 常用组件介绍
4.1 HTML元素与原生组件 78
4.1.1 文本组件 79
4.1.2 图片组件 80
4.1.3 TextInput组件 82
4.1.4 ScrollView组件 87
4.2 结构化组件 92
4.2.1 View组件 92
4.2.2 ListView组件 94
4.2.3 Navigator组件 101
4.2.4 WebView组件 106
4.3 平台特定组件 109
4.3.1 TabBarIOS和TabBarIOS.Item
组件 109
4.3.2 ToolbarAndroid组件 113
4.3.3 SegmentedControlIOS组件 115
4.3.4 ViewPagerAndroid组件 117
4.4 Touchable系列组件 119
4.4.1 TouchableWithoutFeedback 120
4.4.2 TouchableHighlight 120
4.4.3 TouchableOpacity 122
4.4.4 TouchableNativeFeedback 122
4.5 小结 123
第5章 常用API介绍
5.1 AppRegistry 124
5.2 StyleSheet 126
5.3 AppState 128
5.4 AsyncStorage 129
5.5 PixelRatio 132
5.6 Animated 133
5.7 Geolocation 142
5.8 NetInfo 144
5.8.1 获取网络状态 144
5.8.2 网络状态监听 145
5.8.3 判断网络是否连接 146
5.9 小结 146
第6章 组件封装
6.1 组件的生命周期 147
6.2 第三方库 150
6.2.1 react-navigation 150
6.2.2 react-native-tab-navigator 153
6.2.3 react-native-scrollable-tab-view 157
6.2.4 react-native-image-picker 161
6.2.5 Mobx 166
6.2.6 react-native-art 172
6.3 自定义组件 177
6.3.1 组件的导出导入 177
6.3.2 TabbarView封装 178
6.3.3 九宫格布局封装 181
6.3.4 下拉刷新组件封装 185
6.4 小结 192
第7章 网络与通信
7.1 通信机制 193
7.1.1 React Native与Android通信 194
7.1.2 React Native与iOS通信 208
7.2 Promise 机制 210
7.2.1 Promise 简介 210
7.2.2 Promises基本用法 213
7.2.3 在React Native中使用AJAX技术 214
7.3 网络请求 216
7.3.1 XMLHttpRequest请求 216
7.3.2 fetch请求 218
7.4 小结 223
第8章 混合开发高 级篇
8.1 React Native调用iOS原生组件 224
8.1.1 React Native链接原生库 225
8.1.2 React Native调用Objective-C创建的
原生组件 227
8.2 React Native调用Android原生组件 233
8.2.1 编写原生UI组件 233
8.2.2 编写JavaScript端实现 236
8.3 小结 238
第9章 热更新与打包部署
9.1 iOS应用打包 239
9.1.1 iOS应用配置 240
9.1.2 打包离线Bundle 242
9.1.3 设置发布Scheme 243
9.1.4 发布应用 243
9.2 Android应用打包 244
9.2.1 打包离线Bundle 244
9.2.2 生成签名密钥 245
9.2.3 生成签名apk 246
9.3 热更新 248
9.3.1 热更新原理 249
9.3.2 热更新配置 249
9.3.3 登录与创建应用 252
9.3.4 添加热更新功能 253
9.3.5 发布热更新版本 256
9.4 小结 257
第 10章 基于LBS的天气预报应用开发
10.1 需求分析与确定 258
10.1.1 需求分析 258
10.1.2 需求确定 260
10.1.3 整体功能分析 260
10.1.4 技术与架构分析 261
10.2 项目设计 261
10.3 程序入口与工具模块 263
10.3.1 程序入口 263
10.3.2 数据模型定义与数据解析 266
10.3.3 数据存储 271
10.3.4 工具类 273
10.4 模块开发 275
10.4.1 组件封装 276
10.4.2 天气预报页面开发 276
10.4.3 Navigation导航 285
10.5 运行结果 286
第 11章 O2O移动团购应用
11.1 需求分析 288
11.1.1 需求分析 288
11.1.2 功能分析 289
11.2 应用设计 291
11.2.1 模块划分 291
11.2.3 添加第三方库 292
11.3 项目搭建与工具模块开发 293
11.3.1 程序入口 293
11.3.2 搭建主框架 294
11.3.3 导航栏封装 298
11.3.4 WebView封装 303
11.3.5 字体样式工具类 306
11.4 功能开发 307
11.4.1 分类导航入口开发 307
11.4.2 专题活动开发 309
11.4.3 商品列表开发 311
11.4.4 详情页面开发 313
11.4.5 Modal分享弹窗开发 318
11.5 完成开发 322
11.5.1 添加闪屏页 322
11.5.2 修改应用图标和名称 324
11.6 小结 325
展开