React與React Native 跨平臺開發(fā):使用JavaScript與TypeScript構(gòu)建網(wǎng)頁端、桌面端和移動
定 價:¥129
中 教 價:¥77.40 (6.00折)
庫 存 數(shù): 8
《React與React Native 跨平臺開發(fā):使用JavaScript與TypeScript構(gòu)建網(wǎng)頁端、桌面端和移動端應用》詳細闡述了與 React和 React Native相關(guān)的基本解決方案,主要包括為什么選擇 React、使用 JSX渲染、理解 React組件和 Hooks、React方式中的事件處理、打造可復用組件、 TypeScript類型檢查和驗證、使用路由處理導航、使用延遲組件和 Suspense進行代碼分割、用戶界面框架組件、高性能狀態(tài)更新、從服務器獲取數(shù)據(jù)、 React中的狀態(tài)管理、服務器端渲染、 React中的單元測試、為什么選擇 React Native、React Native內(nèi)部機制、快速啟動 React Native項目、使用 Flexbox構(gòu)建響應式布局、屏幕間的導航、渲染項目列表、地理位置與地圖、收集用戶輸入、響應用戶手勢、顯示進度、展示模態(tài)屏幕、使用動畫、控制圖像顯示、離線使用等內(nèi)容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關(guān)方案的實現(xiàn)過程。
《React與React Native 跨平臺開發(fā):使用JavaScript與TypeScript構(gòu)建網(wǎng)頁端、桌面端和移動端應用》涵蓋了現(xiàn)代跨平臺應用程序開發(fā)中的關(guān)鍵功能和概念,而且包含了從 React 的基礎(chǔ)知識到 Hooks、服務器渲染和單元測試等流行特性,本書將以循序漸進的方式幫助讀者成為一名專業(yè)的 React 開發(fā)者。
近年來,React和React Native已經(jīng)在JavaScript開發(fā)人員中表現(xiàn)出了其所受歡迎的程度,成為全面、實用的React生態(tài)系統(tǒng)指南的首選方案。本書包含React的最新功能:增強和修復,同時兼容React Native,涵蓋現(xiàn)代跨平臺應用程序開發(fā)中的關(guān)鍵功能和概念。從React的基礎(chǔ)知識到Hooks、服務器渲染和單元測試等流行特性,本書以循序漸進的方式幫助讀者成為一名專業(yè)的React開發(fā)者。讀者首先從學習React組件的基本構(gòu)建塊開始。然后將學習如何使用TypeScript提升組件的穩(wěn)定性。隨著內(nèi)容的不斷深入,讀者將學習應用開發(fā)的更高級功能,并將所學知識應用于為Web和原生平臺開發(fā)用戶界面組件。到本書結(jié)束時,讀者將能夠獨立構(gòu)建適用于Web的React應用程序和適用于多個平臺(包括Web、移動和桌面)的React Native應用程序。讀者對象本書面向任何希望開始學習如何使用React和React Native進行網(wǎng)頁端、桌面端和移動端應用開發(fā)的JavaScript開發(fā)者。讀者不需要事先了解React。然而,為了能夠理解本書所涵蓋的內(nèi)容,讀者需要具備JavaScript、HTML和CSS的基礎(chǔ)知識。本書內(nèi)容全書共分28章,主要內(nèi)容如下。第1章描述React是什么以及為什么要用它來構(gòu)建應用程序。第2章介紹JSX的基礎(chǔ)知識,這是React組件所使用的標記語言。第3章介紹React應用程序中組件和Hooks的核心機制。第4章概述React組件如何處理事件。第5章通過示例講解重構(gòu)組件的過程。第6章描述React組件經(jīng)歷的各個階段,以及為什么對React開發(fā)者來說很重要。第7章提供大量示例,展示如何為React Web應用設(shè)置路由。第8章介紹代碼分割技術(shù),這些技術(shù)可以帶來性能更好、更高效的應用程序。第9章概述如何開始使用MUI,這是一個用于構(gòu)建用戶界面的React組件庫。第10章深入探討React中支持高效狀態(tài)更新和高性能應用程序的新特性。第11章討論如何可以使用各種方式從服務器檢索數(shù)據(jù)。第12章涵蓋使用Redux和MobX等流行解決方案在應用程序中的管理狀態(tài)。第13章探討如何使用Next.js構(gòu)建在服務器和客戶端渲染內(nèi)容的大型React應用程序。第14章講述專注于使用Vitest進行單元測試的軟件測試。第15章描述React Native庫是什么以及它與原生移動開發(fā)的區(qū)別。第16章提供React Native架構(gòu)的概覽。第17章介紹如何開始一個新的React Native項目。第18章描述如何創(chuàng)建布局并添加樣式。第19章展示在應用中切換屏幕的方法。第20章描述如何在應用程序中實現(xiàn)數(shù)據(jù)列表。第21章解釋如何追蹤地理位置并在應用中添加地圖。第22章討論如何創(chuàng)建表單。第23章提供如何處理用戶手勢的示例。第24章向讀者展示如何處理進程指示和進度條。第25章考察如何創(chuàng)建對話框模態(tài)視圖。第26章描述如何在應用中實現(xiàn)動畫。第27章概述在React Native應用中如何渲染圖像。第28章展示當手機沒有互聯(lián)網(wǎng)連接時如何處理應用的問題。背景知識本書假定讀者對JavaScript編程語言有基本的了解。同時假定讀者會跟隨示例進行操作,這需要一個命令行終端、一個代碼編輯器和一款網(wǎng)絡(luò)瀏覽器。第1章將學習如何搭建一個React項目。學習React Native的要求與React開發(fā)相同,但要在真實設(shè)備上運行應用,需要先準備一個Android或iOS系統(tǒng)的智能手機。為了在模擬器上運行iOS應用,需要使用Mac計算機。至于使用Android模擬器,則可以使用任何類型的個人計算機。
米哈伊爾·薩赫尼烏克是一名軟件工程師,精通 JavaScript、React 和 React Native。他擁有超過 5 年的網(wǎng)絡(luò)和移動應用開發(fā)經(jīng)驗。他曾供職于初創(chuàng)公司、金融科技公司和擁有 2000 多萬用戶的產(chǎn)品公司。目前,Mikhail 在 Miro 擔任前端工程師。此外,他還擁有并維護著幾個開源項目。他還通過書籍和文章分享自己的經(jīng)驗和知識。
第1部分 React第 1 章 為什么選擇 React 31.1 React 是什么 31.1.1 React 僅僅是視圖層 31.1.2 化繁為簡 41.1.3 聲明式 UI 結(jié)構(gòu) 51.1.4 數(shù)據(jù)隨時間變化 71.1.5 性能至關(guān)重要 71.1.6 正確的抽象級別 91.2 React 的新功能 101.3 搭建一個新的 React 項目 111.4 使用 Web 打包工具 121.4.1 使用框架 131.4.2 在線代碼編輯器 131.5 本章小結(jié) 14第 2 章 使用 JSX 渲染 152.1 技術(shù)要求 152.2 第一個 JSX 內(nèi)容 152.3 渲染 HTML 172.3.1 內(nèi)置 HTML 標簽 172.3.2 HTML 標簽約定 182.3.3 描述 UI 結(jié)構(gòu) 192.4 創(chuàng)建自己的 JSX 元素 202.4.1 封裝 HTML 202.4.2 嵌套元素 212.5 使用 JavaScript 表達式 232.5.1 動態(tài)屬性值和文本 232.5.2 處理事件 242.5.3 將集合映射到元素 262.6 構(gòu)建 JSX 片段 282.6.1 使用包裝元素 292.6.2 使用片段 292.7 本章小結(jié) 30第 3 章 理解 React 組件和 Hooks 313.1 技術(shù)要求 313.2 React 組件簡介 313.3 組件屬性是什么 323.3.1 傳遞屬性值 333.3.2 默認屬性值 353.4 組件狀態(tài)是什么 353.5 React 鉤子 363.5.1 使用鉤子維護狀態(tài) 363.5.2 初始狀態(tài)值 373.6 執(zhí)行初始化和清理操作 403.6.1 獲取組件數(shù)據(jù) 403.6.2 取消操作和重置狀態(tài) 423.6.3 優(yōu)化副作用行為 443.7 使用上下文鉤子共享數(shù)據(jù) 453.8 使用鉤子進行記憶化處理 463.8.1 useMemo() 鉤子 463.8.2 useCallback() 鉤子 473.8.3 useRef() 鉤子 483.9 本章小結(jié) 49第 4 章 React 方式中的事件處理 514.1 技術(shù)要求 514.2 聲明事件處理程序 514.2.1 聲明處理函數(shù) 524.2.2 多個事件處理程序 524.3 聲明內(nèi)聯(lián)事件處理程序 534.4 將處理程序綁定到元素 534.5 使用合成事件對象 544.6 理解事件池化 564.7 本章小結(jié) 57第 5 章 打造可復用組件 595.1 技術(shù)要求 595.2 可重用的 HTML 元素 595.3 單體組件的難點 605.3.1 JSX 標記 605.3.2 初始狀態(tài) 615.3.3 事件處理程序?qū)崿F(xiàn) 625.4 重構(gòu)組件結(jié)構(gòu) 645.4.1 從 JSX 開始 655.4.2 實現(xiàn)文章列表組件 665.4.3 實現(xiàn)文章項目組件 685.4.4 實現(xiàn) AddArticle 組件 695.5 渲染屬性 705.6 渲染組件樹 725.7 本章小結(jié) 73第 6 章 TypeScript 類型檢查和驗證 756.1 技術(shù)要求 756.2 了解預期行為 756.2.1 屬性驗證的重要性 756.2.2 屬性驗證的缺失可能導致的潛在問題 766.2.3 屬性驗證的選項 766.3 TypeScript 簡介 786.3.1 為什么要使用 TypeScript 796.3.2 在項目中設(shè)置 TypeScript 806.3.3 TypeScript 中的基本類型 826.3.4 接口和類型別名 856.4 在 React 中使用 TypeScript 866.4.1 在 React 組件中對屬性進行類型檢查 866.4.2 類型狀態(tài) 886.4.3 事件處理器的類型定義 896.4.4 上下文類型檢查 896.4.5 引用類型檢查 906.5 本章小結(jié) 91第 7 章 使用路由處理導航 937.1 技術(shù)要求 937.2 聲明路由 937.2.1 Hello Route 947.2.2 解耦路由聲明 957.3 處理路由參數(shù) 987.3.1 路由中的資源 ID 987.3.2 查詢參數(shù) 1017.4 使用鏈接組件 1037.4.1 基本鏈接 1037.4.2 URL 和查詢參數(shù) 1047.5 本章小結(jié) 106第 8 章 使用延遲組件和 Suspense 進行代碼分割 1078.1 技術(shù)要求 1078.2 使用 lazy() API 1078.2.1 動態(tài)導入和捆綁包 1088.2.2 組件延遲加載 1098.3 使用 Suspense 組件 1098.3.1 頂層 Suspense 組件 1098.3.2 使用旋轉(zhuǎn)圖標回退 1118.4 避免使用延遲組件 1128.5 探索延遲頁面和路由 1148.6 本章小結(jié) 115第 9 章 用戶界面框架組件 1179.1 技術(shù)要求 1179.2 布局與組織 1179.2.1 使用容器 1189.2.2 構(gòu)建響應式網(wǎng)格布局 1199.3 使用導航組件 1229.3.1 Drawer 導航 1229.3.2 使用標簽導航 1259.4 收集用戶輸入 1279.4.1 復選框和單選按鈕 1279.4.2 文本輸入和選擇輸入 1289.4.3 使用按鈕 1309.5 使用樣式和主題 1329.5.1 創(chuàng)建樣式 1329.5.2 自定義主題 1339.6 本章小結(jié) 134第 10 章 高性能狀態(tài)更新 13510.1 技術(shù)要求 13510.2 批量更新狀態(tài) 13510.3 優(yōu)先處理狀態(tài)更新 13910.4 處理異步狀態(tài)更新 14210.5 本章小結(jié) 145第 11 章 從服務器獲取數(shù)據(jù) 14711.1 技術(shù)要求 14711.2 處理遠程數(shù)據(jù) 14711.3 使用 Fetch API 15111.4 使用 Axios 15411.5 使用 TanStack Query 15611.6 使用 GraphQL 15711.7 本章小結(jié) 160第 12 章 React 中的狀態(tài)管理 16112.1 全局狀態(tài)是什么 16112.2 React Context API 和 useReducer 16412.3 Redux 16712.4 MobX 16912.5 本章小結(jié) 172第 13 章 服務器端渲染 17313.1 技術(shù)要求 17313.2 在服務器上工作 17313.2.1 服務器端渲染 17413.2.2 靜態(tài)站點和增量式靜態(tài)生成 17613.3 使用 Next.js 17813.4 React 服務器組件 18513.5 本章小結(jié) 188第 14 章 React 中的單元測試 18914.1 技術(shù)要求 18914.2 總體測試 18914.3 單元測試 19114.3.1 設(shè)置測試環(huán)境 19214.3.2 Vitest 特性 19314.3.3 模擬 19614.4 測試 ReactJS 20114.5 本章小結(jié) 206第2部分 React Native第 15 章 為什么選擇 React Native 20915.1 技術(shù)要求 20915.2 什么是 React Native 20915.3 React 和 JSX 21115.4 移動瀏覽器體驗 21115.5 Android 和 iOS:不同卻又相同 21215.6 移動 Web 應用的案例 21215.7 本章小結(jié) 213第 16 章 React Native 內(nèi)部機制 21516.1 探索 React Native 架構(gòu) 21516.2 React Native 當前架構(gòu) 21716.2.1 作為 React Native 一部分的 JS 21816.2.2 React Native 未來架構(gòu) 22016.3 解釋 JS 和原生模塊 22216.3.1 React Navigation 22216.3.2 UI 組件庫 22216.3.3 啟動屏幕 22316.3.4 圖標 22316.3.5 錯誤處理 22316.3.6 推送通知 22416.3.7 空中更新 22416.3.8 JS 庫 22516.4 探索 React Native 組件和 API 22516.5 本章小結(jié) 226第 17 章 快速啟動 React Native 項目 22717.1 技術(shù)要求 22717.2 探索 React Native 命令行工具 22717.3 安裝和使用 Expo 命令行工具 22817.4 在手機上查看應用 22917.5 在 Expo Snack 上查看應用 23217.6 本章小結(jié) 234第 18 章 使用 Flexbox 構(gòu)建響應式布局 23518.1 技術(shù)要求 23518.2 引入 Flexbox 23518.3 引入 React Native 樣式 23618.4 使用 Styled Components 庫 23918.5 構(gòu)建 Flexbox 布局 24018.5.1 簡單的 3 列布局 24018.5.2 改進后的 3 列布局 24318.5.3 靈活的行 24518.5.4 靈活的網(wǎng)格 24718.5.5 靈活的行和列 24918.6 本章小結(jié) 251第 19 章 屏幕間的導航 25319.1 技術(shù)要求 25319.2 導航的基礎(chǔ)知識 25319.3 路由參數(shù) 25719.4 導航標題欄 26019.5 標簽和抽屜導航 26319.6 基于文件的導航 26619.7 本章小結(jié) 268第 20 章 渲染項目列表 26920.1 技術(shù)要求 26920.2 渲染數(shù)據(jù)集合 26920.3 對列表進行排序和過濾 27220.4 獲取列表數(shù)據(jù) 27620.5 延遲加載列表 27820.6 實現(xiàn)下拉刷新功能 28120.7 本章小結(jié) 282第 21 章 地理位置與地圖 28321.1 技術(shù)要求 28321.2 使用 Geolocation API 28321.3 渲染地圖 28621.4 標注興趣點 28721.4.1 繪制點 28721.4.2 繪制覆蓋層 28921.5 本章小結(jié) 290第 22 章 收集用戶輸入 29322.1 技術(shù)要求 29322.2 收集文本輸入 29322.3 從選項列表中選擇 29622.4 在開啟和關(guān)閉之間切換 30122.5 收集日期/時間輸入 30322.6 本章小結(jié) 306第 23 章 響應用戶手勢 30723.1 技術(shù)要求 30723.2 用手指滾動 30723.3 提供觸摸反饋 30923.4 使用可滑動和可取消的組件 31323.5 本章小結(jié) 317第 24 章 顯示進度 31924.1 技術(shù)要求 31924.2 理解進度和可用性 31924.3 指示進度 32024.4 探索導航指示器 32124.5 測量進度 32324.6 步驟進度 32524.7 本章小結(jié) 327第 25 章 展示模態(tài)屏幕 32925.1 技術(shù)要求 32925.2 術(shù)語定義 32925.3 獲取用戶確認 33025.4 錯誤確認 33325.5 被動通知 33725.6 活動模態(tài)框 33825.7 本章小結(jié) 340第 26 章 使用動畫 34326.1 技術(shù)要求 34326.2 使用 React Native Reanimated 34326.3 Animated API 34326.3.1 React Native Reanimated 34426.3.2 安裝 React Native Reanimated 庫 34526.4 動畫布局組件 34526.5 動畫組件樣式 34926.6 本章小結(jié) 351第 27 章 控制圖像顯示 35327.1 技術(shù)要求 35327.2 加載圖像 35327.3 調(diào)整圖像大小 35527.4 延遲加載圖像 35727.5 渲染圖標 36027.6 本章小結(jié) 362第 28 章 離線使用 36328.1 技術(shù)要求 36328.2 檢測網(wǎng)絡(luò)狀態(tài) 36328.3 存儲應用程序數(shù)據(jù) 36528.4 同步應用程序數(shù)據(jù) 36928.5 本章小結(jié) 373