內容介紹 | |
開本:16開 紙張:膠版紙 包裝:平裝-膠訂 是否套裝:否 國際標準書號ISBN:9787519856540 作者:[美]亞歷克斯?班克斯,[美]伊夫?波爾切洛,安道 出版社:中國電力出版社 出版時間:2021年06月 
" 編輯推薦
如果你想學習如何構建高效運行的React應用,這本書正適合你。如果你是Web開發者或軟件工程師,知道JavaScript、CSS和HTML在瀏覽器中的運行方式,本書特別適合你。這一版全面更新,道出了編寫現代化React代碼的實踐和模式。閱讀本書無須事先了解React,也不用知道函數式JavaScript。
Alex Banks和Eve Porcello編制的學習路線將教會你如何創建UI,在大型數據驅動型網站中靈巧地顯示內容變動,但不重新加載頁面。此外,你還將學習函數式編程和ECMAScript的特性。通過這本實用的指南學會如何構建React組件之後,你便會知曉React能為團隊帶來多大的幫助。 內容簡介
- 理解JavaScript函數式編程的關鍵概念。
- 深入了解React在瀏覽器中的運行機制。
- 使用React組件創建應用的表現層。
- 管理數據,減少花在調試應用上的時間。
- 利用React鉤子管理狀態及獲取數據。
- 在單頁應用中使用路由方案。
- 學習站在服務器的角度上規劃React應用。
作者簡介 Alex Banks和Eve Porcello是軟件工程師、作者和培訓講師。他們合辦的公司Moon Highway向全世界的工程開發人員教授JavaScript、Node.js、React和GraphQL課程。他們還為O’Reilly、LinkedIn Learning和egghead.io錄制視頻及編寫培訓材料。 目錄 目錄 前言 1 第1 章 初識React 7 11 堅實的基礎 8 12 React 的過去和未來 9 13 資源文件 10 131 資源倉庫10 132 React 開發者工具 10 133 安裝Nodejs 12 第2 章 JavaScript 新特性 15 21 聲明變量 16 211 const 關鍵字 16 212 let 關鍵字 17 213 模板字符串 20目錄 前言 1 第1 章 初識React 7 11 堅實的基礎 8 12 React 的過去和未來 9 13 資源文件 10 131 資源倉庫10 132 React 開發者工具 10 133 安裝Nodejs 12 第2 章 JavaScript 新特性 15 21 聲明變量 16 211 const 關鍵字 16 212 let 關鍵字 17 213 模板字符串 20 22 創建函數 21 221 函數聲明21 222 函數表達式 22 223 默認參數24 224 箭頭函數25 23 編譯JavaScript 28 24 對像和數組 29 241 析構對像29 242 析構數組32 243 對像字面量增強 32 244 展開運算符 34 25 JavaScript 異步編程 36 251 使用fetch 處理簡單的promise 37 252 async/await 38 253 構建promise 39 26 類 40 27 ES6 模塊 42 第3 章 JavaScript 函數式編程 45 31 函數式編程是什麼意思 46 32 命令式和聲明式 48 33 函數式編程基本概念 51 331 不可變性51 332 純函數 54 333 數據轉換57 334 高階函數65 335 遞歸 66 336 合成 70 337 綜合應用71 第4 章 React 運行機制 77 41 頁面設置 77 42 Rea素 78 43 ReactDOM 81 44 React 組件 87 第5 章 在React 中使用JSX 95 51 使用JSX 創建Rea素95 511 JSX 小貼士 96 512 使用JSX 映射數組 98 52 Babel 98 53 使用JSX 編寫菜譜應用 100 54 React 片段 108 55 webpack 簡介 109 551 創建項目 111 552 加載構建包 122 553 源碼映射123 554 Create React App 124 第6 章 React 狀態管理 127 61 構建一個星級評價組件 128 62 useState 鉤子 130 63 為提高可重用性而重構 134 64 組件樹中的狀態 136 641 沿組件樹向下發送狀態 137 642 沿組件樹向上發送交互 141 65 構建表單 145 651 使用ref 146 652 受控組件148 653 自定義鉤子 150 654 把顏色添加到狀態中 152 66 React 上下文 153 661 把顏色放入上下文 155 662 使用useContext 獲取顏色 157 663 有狀態的上下文供應組件 158 664 使用上下文自定義鉤子 160 第7 章 使用鉤子增強組件 165 71 useEffect 介紹 165 711 依賴數組168 712 深入檢查依賴 173 713 何時使用useLayoutEffect 180 714 鉤子使用規則 182 715 使用useReducer 改進代碼 186 716 使用useReducer 處理復雜的狀態 189 717 提升組件性能 192 718 shouldComponentUpdate 和PureComponent 195 719 何時重構196 第8 章 處理數據 199 81 請求數據 199 811 隨請求發送數據 201 812 使用fetch 上傳文件202 813 授權請求202 814 在本地保存數據 204 815 處理promise 狀態 208 82 渲染屬性 210 83 虛擬化列表 214 831 創建useFetch 鉤子 219 832 創建Fetch 組件 222 833 處理多個請求 224 834 備忘值 225 835 瀑布式請求 229 836 限制網絡速度 233 837 並行請求235 838 等待值出現 237 839 取消請求238 84 GraphQL 簡介 242 841 GitHub GraphQL API 242 842 發起一個GraphQL 請求 245 第9 章 Suspense 253 91 錯誤邊界組件 255 92 代碼分拆 259 921 Suspense 組件介紹 262 922 使用Suspense 加載數據 263 923 拋出promise 267 924 構建兼容Suspense 的數據源 272 925 Fiber 277 第10 章 React 測試 281 101 ESLint 281 102 Prettier 288 1021 在項目中配置Prettier 289 1022 在VSCode 中使用Prettier 291 103 對React 應用做類型檢查 292 1031 PropTypes 292 1032 Flow 296 1033 TypeScript 301 104 測試驅動開發 304 105 使用Jest 305 106 測試React 組件 311 1061 查詢 315 1062 測試事件 316 1063 代碼覆蓋度 319 第11 章 React Router 321 111 使用React Router 322 112 React Router 屬性 327 113 重定向 332 第12 章 React 服務器端渲染 341 121 同構與普適 342 122 服務器端渲染React 345 123 使用Nextjs 做服務器端渲染 353 124 Gatsby 359 125 React 未來展望 361 作者介紹 363 封面介紹 363 前言 前言本書是為那些想學習React 庫,以及想學習當前JavaScript 語言技術的開發人員而寫的。當下是JavaScript 開發者的黃金時代,整個生態繫統蓬勃發展,不斷湧現新工具、句法和實踐,以期解決開發中遇到的很多問題。筆者寫這本書旨在整合相關技術,讓你順利掌握React。本書涵蓋狀態管理、React 路由、測試和服務器端渲染,不僅介紹基礎知識,還將進行實戰演練。閱讀本書不要求你事先了解React 的任何知識。筆者將從頭開始介紹React 的基礎知識。同樣,也不要求你用過的JavaScript 句法。這部分知識在第2 章介紹,作為後續章節的基礎。如果你熟悉HTML、CSS 和JavaScript,閱讀本書就沒有什麼障礙。專攻一個JavaScript 庫時,熟悉這三大技術總是好的。在閱讀本書的過程中,請隨時查閱配套的GitHub 倉庫(http://github.com/moonhighway/learning-react)。本書的所有示例都在這個倉庫中,你可以自己動手實踐。排版約定本書采用下述排版約定。斜體(Italic)表示新術語、URL、電子郵件地址、文件名和擴展名。等寬字體(Constant Width)表示程序清單,在段落中出現則表素,例如變量、函數名、數據庫、數據類型、環境變量、語句和關鍵字。斜體等寬字體(Constant Width Italic)表示應該由用戶原封不動輸入的命令或其他文本。使用代碼示例本書的補充材料(代碼示例、練習題等)可到https://github.com/moonhighway/learning-react 下載。如有技術疑問,或者在使用代碼示例的過程中遇到問題,請發電子郵件到bookquestions@oreilly.com。本書是幫你完成工作的。一般來說,如果本書提供了示例代碼,你可以把它用到你的程序或文檔中。除非你使用了很大一部分代碼,否則無須聯繫我們獲得許可。比如,用書中的幾個代碼片段寫一個程序就無須獲得許可,銷售或分發O’Reilly 旗下書中的示例則需要獲得許可;引用書中的示例代碼回答問題無須獲得許可,將書中大量的代碼放到你的產品文檔中則需要獲得許可。我們很希望但並不強制要求你在引用本書內容時加上引用說明。引用說明一般包括書名、作者、出版社和ISBN,比如:“Learning React by Alex Banks and Eve Porcello (O’Reilly). Copyright 2020 Alex Banks and Eve Porcello, 978-1-492-05172-5.”。如果你覺得自己對示例代碼的使用超出了上述許可範圍,請通過permissions@oreilly.com 與我們聯繫。O’Reilly Online Learning40 年間,O’Reilly Media 為眾多公司提供技術和商業培訓,提升知識儲備和洞察力,為企業的成功助力。我們有一群獨家專家和創新者,他們通過圖書、文章、會議和在線學習平臺分享知識和技術。O’Reilly 的在線學習平臺提供按需訪問的直播培訓課程、詳細的學習路徑、交互式編程環境,以及由O’Reilly 和其他200 多家出版社出版的書籍和視頻。詳情請訪問http://oreilly.com。聯繫方式請將你對本書的評價和問題發給出版社:美國:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472O’Reilly Online LearningFor more than 40 years, O’Reilly Media has provided technology and business training, knowledge, and insight to help companies succeed.Our unique network of experts and innovators share their knowledge and expertise through books, articles, and our online learning platform. O’Reilly’s online learning platform gives you on-demand access to live training courses, in-depth learning paths, interactive coding environments, and a vast collection of text and video from O’Reilly and 200 other publishers. For more information, visit http://oreilly.com.How to Contact UsPlease address comments and questions concerning this book to the publisher:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472800-998-9938 (in the United States or Canada)707-829-0515 (international or local)707-829-0104 (fax)We have a web page for this book中國:北京市西城區西直門南大街2 號成銘大廈C 座807 室(100035)奧萊利技術咨詢(北京)有限公司勘誤、示例和其他信息可到https://oreil.ly/learningReact_2e 上獲取。對本書的評論或技術疑問,可以發電子郵件到bookquestions@oreilly.com。欲了解本社圖書、課程、會議和新聞等更多信息,請訪問我們的網站http://oreilly.com。我們的Facebook:http://facebook.com/oreilly。我們的Twitter:http://twitter.com/oreillymedia。我們的YouTube:http://www.youtube.com/oreillymedia。致謝筆者接觸React 純粹是機緣巧合。為Yahoo 內部的一個JavaScript 全棧培訓項目編寫材料時,筆者用的是YUI,然而在2014 年8 月,YUI 終止開發了。我們不得不修改所有課程文件,可是改成什麼呢?現在前端應該使用什麼呢?答案是React。我們沒有立即喜歡上React,幾個小時之後纔被它吸引。當時我們猜測,React 將產生翻天覆地的影響。非常幸運,我們在早期就選定了它。感謝Angela Rufino 和Jennifer Pollock 對本書第二版的幫助和支持。同時,感謝Ally MacDonald 對版的編輯工作。感謝幾位技術審校:Scott Iwako、Adam Rackis、Brian Sletten、Max Firtman 和Chetan Karande。沒有Sharon Adams 和Marilyn Messineo,這本書不可能得以存世。Alex 的臺電腦,一臺Tandy TRS 80 彩色計算機就是他們二人合買的。倘若沒有Jim 和Lorri Porcello 及Mike 和Sharon Adams 的關愛、支持和鼓勵,本書不會終得以付梓。我們還要感謝加利福尼亞州Tahoe 市的Connexion 咖啡館,感謝這家店為我們供應完成本書所需的咖啡。同時感謝店主Robin,他的鞭策給了我們無限動力:“寫一本編程書?聽著就無聊!”前言本書是為那些想學習React 庫,以及想學習當前JavaScript 語言技術的開發人員而寫的。當下是JavaScript 開發者的黃金時代,整個生態繫統蓬勃發展,不斷湧現新工具、句法和實踐,以期解決開發中遇到的很多問題。筆者寫這本書旨在整合相關技術,讓你順利掌握React。本書涵蓋狀態管理、React 路由、測試和服務器端渲染,不僅介紹基礎知識,還將進行實戰演練。閱讀本書不要求你事先了解React 的任何知識。筆者將從頭開始介紹React 的基礎知識。同樣,也不要求你用過的JavaScript 句法。這部分知識在第2 章介紹,作為後續章節的基礎。如果你熟悉HTML、CSS 和JavaScript,閱讀本書就沒有什麼障礙。專攻一個JavaScript 庫時,熟悉這三大技術總是好的。在閱讀本書的過程中,請隨時查閱配套的GitHub 倉庫(http://github.com/moonhighway/learning-react)。本書的所有示例都在這個倉庫中,你可以自己動手實踐。排版約定本書采用下述排版約定。斜體(Italic)表示新術語、URL、電子郵件地址、文件名和擴展名。等寬字體(Constant Width)表示程序清單,在段落中出現則表素,例如變量、函數名、數據庫、數據類型、環境變量、語句和關鍵字。斜體等寬字體(Constant Width Italic)表示應該由用戶原封不動輸入的命令或其他文本。使用代碼示例本書的補充材料(代碼示例、練習題等)可到https://github.com/moonhighway/learning-react 下載。如有技術疑問,或者在使用代碼示例的過程中遇到問題,請發電子郵件到bookquestions@oreilly.com。本書是幫你完成工作的。一般來說,如果本書提供了示例代碼,你可以把它用到你的程序或文檔中。除非你使用了很大一部分代碼,否則無須聯繫我們獲得許可。比如,用書中的幾個代碼片段寫一個程序就無須獲得許可,銷售或分發O’Reilly 旗下書中的示例則需要獲得許可;引用書中的示例代碼回答問題無須獲得許可,將書中大量的代碼放到你的產品文檔中則需要獲得許可。我們很希望但並不強制要求你在引用本書內容時加上引用說明。引用說明一般包括書名、作者、出版社和ISBN,比如:“Learning React by Alex Banks and Eve Porcello (O’Reilly). Copyright 2020 Alex Banks and Eve Porcello, 978-1-492-05172-5.”。如果你覺得自己對示例代碼的使用超出了上述許可範圍,請通過permissions@oreilly.com 與我們聯繫。O’Reilly Online Learning40 年間,O’Reilly Media 為眾多公司提供技術和商業培訓,提升知識儲備和洞察力,為企業的成功助力。我們有一群獨家專家和創新者,他們通過圖書、文章、會議和在線學習平臺分享知識和技術。O’Reilly 的在線學習平臺提供按需訪問的直播培訓課程、詳細的學習路徑、交互式編程環境,以及由O’Reilly 和其他200 多家出版社出版的書籍和視頻。詳情請訪問http://oreilly.com。聯繫方式請將你對本書的評價和問題發給出版社:美國:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472O’Reilly Online LearningFor more than 40 years, O’Reilly Media has provided technology and business training, knowledge, and insight to help companies succeed.Our unique network of experts and innovators share their knowledge and expertise through books, articles, and our online learning platform. O’Reilly’s online learning platform gives you on-demand access to live training courses, in-depth learning paths, interactive coding environments, and a vast collection of text and video from O’Reilly and 200 other publishers. For more information, visit http://oreilly.com.How to Contact UsPlease address comments and questions concerning this book to the publisher:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472800-998-9938 (in the United States or Canada)707-829-0515 (international or local)707-829-0104 (fax)We have a web page for this book中國:北京市西城區西直門南大街2 號成銘大廈C 座807 室(100035)奧萊利技術咨詢(北京)有限公司勘誤、示例和其他信息可到https://oreil.ly/learningReact_2e 上獲取。對本書的評論或技術疑問,可以發電子郵件到bookquestions@oreilly.com。欲了解本社圖書、課程、會議和新聞等更多信息,請訪問我們的網站http://oreilly.com。我們的Facebook:http://facebook.com/oreilly。我們的Twitter:http://twitter.com/oreillymedia。我們的YouTube:http://www.youtube.com/oreillymedia。致謝筆者接觸React 純粹是機緣巧合。為Yahoo 內部的一個JavaScript 全棧培訓項目編寫材料時,筆者用的是YUI,然而在2014 年8 月,YUI 終止開發了。我們不得不修改所有課程文件,可是改成什麼呢?現在前端應該使用什麼呢?答案是React。我們沒有立即喜歡上React,幾個小時之後纔被它吸引。當時我們猜測,React 將產生翻天覆地的影響。非常幸運,我們在早期就選定了它。感謝Angela Rufino 和Jennifer Pollock 對本書第二版的幫助和支持。同時,感謝Ally MacDonald 對版的編輯工作。感謝幾位技術審校:Scott Iwako、Adam Rackis、Brian Sletten、Max Firtman 和Chetan Karande。沒有Sharon Adams 和Marilyn Messineo,這本書不可能得以存世。Alex 的臺電腦,一臺Tandy TRS 80 彩色計算機就是他們二人合買的。倘若沒有Jim 和Lorri Porcello 及Mike 和Sharon Adams 的關愛、支持和鼓勵,本書不會終得以付梓。我們還要感謝加利福尼亞州Tahoe 市的Connexion 咖啡館,感謝這家店為我們供應完成本書所需的咖啡。同時感謝店主Robin,他的鞭策給了我們無限動力:“寫一本編程書?聽著就無聊!” | | |