React Native實戰:JavaScript開發iOS和Android應用
內容描述
《React Native實戰:JavaScript開發iOS和Android應用》的作者Nader Dabit
是AWS Mobile 開發人員、React Native Training 創始人和React Native Radio 播客主持人。
《React Native實戰:JavaScript開發iOS和Android應用》旨在幫助iOS、
Android 和Web 開發人員學習使用React Native 框架,構建高質量的iOS 和Android 應用程序。
書中介紹了React Native 入門基礎知識,重點關注能夠解決實際問題的實戰技巧,
深入探討樣式、導航、動畫、API、數據架構、代碼重用等內容。
書中涉及的概念和技巧都附有簡短示例和代碼清單,讀者可以在線獲得源代碼。
掃描關注封底機械工業出版社計算機分社官方微信訂閱號——IT有得聊,
回复64090即可獲取本書配套資源下載鏈接,並可獲得更多增值服務和最新資訊。
目錄大綱
目錄
譯者序
致謝
前言
關於本書
關於作者
關於封面配圖
第一部分React Native入門
第1章React Native入門
1.1介紹React和React Native
1.1.1一個基本的React類
1.1.2 React生命週期
1.2讀者將學到什麼
1.3讀者應該具備什麼
1.4了解React Native的工作原理
1.4.1 JSX
1.4.2線程
1.4.3 React
1.4.4單向數據流
1.4.5差異化
1.4.6組件思維
1.5 React Native的優點
1.5. 1對開發者的可用性
1.5.2提高開發人員生產力
1.5.3性能
1.5.4單向數據流
1.5.5開發人員體驗
1.5.6代碼轉換
1.5.7生產力和效率
1.5.8社區
1.5.9開源
1.5 .10立即更新
1.5.11構建跨平台移動應用程序的其他解決方案
1.6 React Native的缺點
1.7創建和使用基本組件
1.7.1組件概述
1.7.2原生組件
1.7.3組件的構成
1.7.4可導出的組件
1.7.5組件組合
1.8創建一個入門項目
1.8.1 Create React Native App CLI
1.8.2 React Native CLI
第2章了解React
2.1使用狀態管理組件數據
2.1.1正確操作組件的狀態
2.2使用屬性管理組件數據
2.3 React組件規範
2.3.1使用render方法創建UI
2.3.2使用屬性初始值設定項和構造函數
2.4反React生命週期方法
2.4.1靜態方法getDerivedStateFromProps
2.4.2生命週期方法componentDidMount
2.4.3生命週期方法shouldComponentUpdate
2.4.4生命週期方法componentDidUpdate
2.4.5生命週期方法componentWillUnmount
第3章構建React Native應用程序
3.1 todo app佈局
3.2 todo app編碼
3.3打開開發者菜單
3.3.1在iOS模擬器中打開開發者菜單
3.3.2在Android模擬器中打開開發者菜單
3.3.3使用開發者菜單
3.4繼續構建todo app
第二部分在React Native中開發應用程序
第4章樣式入門
4.1在React Native中應用和組織樣式
4.1.1在應用程序中應用樣式
4.1.2組織樣式
4.1.3將樣式視為代碼
4.2將樣式應用於View組件
4.2.1設置背景顏色
4.2.2設置邊框border屬性
4.2.3指定邊距margin和填充padding
4.2.4使用位置position放置組件
4.2.5胸卡Profile Card定位
4.3將樣式應用於Text組件
4.3.1對比Text組件與View組件
4.3. 2字體樣式
4.3.3使用裝飾性文本樣式
第5章樣式進階
5.1針對特定平台的尺寸和样式
5.1.1像素、點和DP
5.1.2使用ShadowPropTypesIOS和Elevation創建陰影
5.1.3實戰:在胸卡上設置陰影
5.2使用變形來移動、旋轉、縮放和傾斜組件
5.2.1透視產生的3D效果
5.2.2使用translateX和translateY沿x軸和y軸移動元素
5.2.3使用rotateX,rotateY和rotateZ旋轉元素(rotate)
5.2.4旋轉超過90°時設置可見性
5.2. 5使用scale、scaleX和scaleY縮放屏幕上的對象
5.2.6使用縮放變形創建胸卡縮略圖
5.2.7 skewX和skewY使元素沿x軸和y軸傾斜
5.2.8變形的關鍵點
5.3使用flexbox佈置組件
5.3 .1使用flex改變組件的尺寸
5.3.2使用flexDirection指定flex的方向
5.3.3使用justifyContent定義組件沿主軸的排列方式
5.3.4使用alignItems對齊容器中的子項
5.3.5使用alignSelf覆蓋父容器的對齊方式
5.3.6使用flexWrap防止項目被剪裁
第6章導航
6.1對比React Native導航與網頁導航
6.2構建一款頁面導航應用程序
6.3實現數據持久化
6.4使用DrawerNavigator創建抽屜式導航
第7章動畫
7.1介紹Animated API
7.2獲得焦點時表單輸入放大
7.3用插值創建自定義加載動畫
7.4創建多個並行動畫
7.5創建一個動畫序列
7.6使用Animated.stagger交錯動畫開始時間
7.7 Animated動畫庫的其他技巧
7.7.1重置動畫值
7.7.2調用回調函數
7.7. 3使用useNativeDriver卸載動畫至原生線程
7.7.4使用createAnimatedComponent創建自定義可動畫組件
第8章使用Redux數據架構庫
8.1 Redux的定義
8.2使用context在React應用程序中創建和管理全局state
8.3在React Native應用程序中實現Redux
8.4創建Redux reducer來存放Redux的state
8.5添加provider並創建store
8.6使用connect函數訪問數據
8.7添加action
8.8在reducer中刪除Redux store中的項目
第三部分API參考
第9章實現跨平台API
9.1使用Alert API創建跨平台通知
9.1.1告警用例
9.1.2告警示例
9.2使用AppState API檢測當前應用程序的狀態
9.2.1 AppState用例
9.2.2使用AppState的示例
9.3使用AsyncStorage API實現數據保存
9.3.1 AsyncStorage用例
9.3.2使用AsyncStorage的示例
9.4使用Clipboard API將文本複製到剪貼板
9.4.1 Clipboard用例
9.4.2使用Clipboard的示例
9.5使用Dimensions API獲取用戶的屏幕信息
9.5.1 Dimensions API用例
9.5.2使用Dimensions API的示例
9.6使用Geolocation API獲取用戶當前的位置信息
9.6.1 Geolocation API用例
9.6.2使用Geolocation API的示例
9.7使用Keyboard API控制本機鍵盤的位置和功能
9.7.1 Keyboard API用例
9.7.2使用Keyboard API的示例
9.8使用NetInfo獲取用戶的當前聯網狀態(在線/離線)
9.8.1 NetInfo用例
9.8.2使用NetInfo的示例
9.9使用PanResponder獲取觸摸和手勢事件信息
9.9.1 PanResponder API用例
9.9.2使用PanResponder的示例
第10章實現特定於iOS的組件和API
10.1特定平台代碼
10.1.1 iOS和Androld文件擴展名
10.1.2使用Platform API檢測平台
10.2 DatePickerIOS
10.2.1 DatePickerIOS用例
10.3使用PickerIOS組件處理值列表
10.3.1使用PickerIOS的示例
10.4使用ProgressViewIOS顯示加載進度
10.4.1 ProgressViewIOS用例
10.4.2使用ProgressViewIOS的示例
10.5使用SegmentedControlios創建水平選項卡欄
10.5.1 SegmentedControlIOS用例
10.5.2使用SegmentedControlIOS的示例
10.6使用TabBarIOS在UI底部渲染選項卡
10.6.1 TabBarIOS用例
10.6.2使用TabBarIOS的示例
10.7使用ActionSheetIOS顯示操作表或分享框
10.7.1 ActionSheetIOS用例
10.7.2使用ActionSheetIOS的示例
第11章實現特定於Android的組件和API
11.1使用DrawerLayoutAndroid創建側滑菜單
11.2使用ToolbarAndroid創建工具欄
11.3使用ViewPagerAndroid實現可滾動分頁
11.4使用DatePickerAndroid API顯示本機的日期選擇器
11.5使用TimePickerAndroid創建時間選擇器
11.6使用ToastAndroid實現Android toast
第四部分將各部分整合為一個應用程序
第12章使用跨平台組件構建Star Wars應用
12.1創建Star Wars應用並安裝依賴項
12.1.1導入People組件並創建Container組件
12.1.2創建導航組件並註冊路徑
12.1.3為初始視圖創建主類
12.2使用FlatList、 Modal和Picker創建People組件
12.2.1創建state並設置fetch調用以檢索數據
12.2.2添加剩餘的類方法
12.2.3實現render的方法
12.3創建HomeWorld組件
12.3.1創建HomeWorld類並初始化狀態
12.3.2使用url屬性從API獲取數據
12.3.3完成HomeWorld組件
附錄A安裝並運行React Native
A.1開發iOS應用
A.1.1準備開始
A.1.2在iOS上測試安裝
A.2開發Android應用
A.2.1使用Mac開發Android應用
A.2.2使用Windows開發Android應用
A.2.3使用Linux開發Android應用
A.2.4創建新項目(Mac/Windows/Linux )
A.2.5運行該項目(Mac/Windows/Linux)
作者介紹
Nader Dabit
是AWS Mobile 的開發人員,致力於為開發者提供工具和服務,
使其能夠使Nader Dabit 是AWS Mobile 的開發人員,
致力於為開發者提供工具和服務,
使其能夠使用已掌握的技能組建全棧Web 和移動應用程序。
Nader Dabit 還是React Native Training 的創始人和React Native Radio 播客的主持人。