作 者:(美)納德·達比(Nader Dabit) 著 孫曉青,周偉 譯
定 價:99
出 版 社:機械工業出版社
出版日期:2020年01月01日
頁 數:279
裝 幀:平裝
ISBN:9787111640905
●譯者序
致謝
前言
關於本書
關於作者
關於封面配圖
第一部分 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和rotate素(rotate)
5.2.4 旋轉超過90°時設置可見性
5.2.5 使用scale、scaleX和scaleY縮放屏幕上的對像
5.2.6 使用縮放變形創建胸卡縮略圖
5.2.7 skewX和ske素沿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)
《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、數據架構、代碼重用等內容。書中涉及的概念和技巧都附有簡短示例和代碼清單,讀者可以在線獲得源代碼。
(美)納德·達比(Nader Dabit) 著 孫曉青,周偉 譯
納德·達比(Nader Dabit)是AWS Mobile的開發人員,致力於為開發者提供工具和服務,使其能夠使Nader Dabit是AWS Mobile的開發人員,致力於為開發者提供工具和服務,使其能夠使用已掌握的技能組建全棧Web和移動應用程序。Nader Dabit還是React Native Training的創始人和React Native Radio播客的主持人。
多年以來,筆者一直痴迷於移動應用程序開發,這份痴迷是筆者學習編碼的原動力,激勵筆者一路走來,先後學習了Objective-C、jQuery mobile 和Cordova,以及本書要講解的ReactNative。筆者的職業生涯是圍繞JavaScript 進行的,多年來,在進行Web 開發的過程中,筆者始終不忘追求如何使用現有的技能來提高效率。尋找更加高效的方法一直是筆者職業生涯中不變的初心。 當React Native 首次發布時,筆者意識到這將是一個重要事件。當時,全球已有成千上萬的React 和JavaScript 開發人員,React Native 為這些開發人員開闢了一條新的路徑,將他們現有的技能擴展至移動應用程序開發領域,這條路徑是Cordova 等其他項目所不具備的。此外,React Native 也對React 開發人員產生了很大吸引力,他們當時是所有前端開發人員中增長等