一本記載了關於React開發生態圈的技術書籍
不只說明應該下載哪些工具以及如何使用,更要你了解為何需要它
◎清楚表達每個步驟或重點程式碼背後的意義
◎從無到有開發,只需一台電腦就能一同探索React生態圈
◎精選兩個實戰範例,不論是開發網站或發布元件到npm,皆一網打盡
本書內容改編自第11屆IT邦幫忙鐵人賽的ModernWeb組佳作網路系列文章《在React生態圈內打滾的一年feat.TypeScript》,有別於以往只告訴你用create-react-app快速建立React專案的教學,從最基本的Webpack、Babel配置開始,告訴你該如何依照需求建立適合自己的React專案,避免初學者陷入「知其然卻不知所以然」的情況。
除了基本的React專案之外,也介紹了如何為嘔心瀝血打造的元件撰寫單元測試,以及如何在React專案中導入TypeScript等技巧,讓你在開發上更無往不利。
【四大重點】
◎從頭開始了解React生態圈,明白工具為何存在
本書的一大重點是「先釐清問題後解決」,因為不論是ReactRouter、Redux、單元測試或TypeScript,每個工具的出現都有它的意義。在使用這些工具之前,必須先清楚知道它們幫助了你什麼,才能解決正確的問題。
◎從Reactv16入門,直接以最新的Hooks開發
本書直接從Hooks學習React的元件開發,同時也考慮到React生態圈內其他套件對於Hooks的支援,除了展示套件的基本用法之外,也介紹了Hooks的寫法,讓你不會迷失在快速進化的前端技術之中。
◎從「前端」角度介紹「單元測試」,替你的程式碼上道防護網
「思考單元測試的意義以及測試的方法」是本書的精華內容之一,本書從原生的JavaScript到React元件,介紹了各種情境以及測試案例的寫法,不斷帶出「究竟什麼樣的測試案例才是有價值的」,讓「單元測試」這個技能不再像是謎一般的存在。
◎介紹如何導入TypeScript並運用,提升前端開發的守備範圍
近年來逐漸火熱的TypeScript,是由微軟所研發出來的新語言,本書將說明如何一步步將TypeScript導入至React專案,更重要的是釐清TypeScript可以在開發中發揮什麼幫助或解決什麼問題。
作者簡介:
黃冠霖(神Q超人)
擁有三年的前端開發經驗的工程師,熱愛鑽研與Web相關的前端技術。
認為知識是自由的,對技術擁有強烈的求知心,平時會在網路上撰寫技術文章,也和朋友們一同建立StarBugs技術週刊。曾經在Mopcon2019擔任講者,主講關於前端的單元測試,以及兩次受邀於六角學院分享前端開發的相關主題。
在第11屆IT邦幫忙鐵人賽中,以《在React生態圈內打滾的一年feat.TypeScript》作為網路系列文章,獲得ModernWeb組佳作。
目錄
|CHAPTER 00| 開發React專案的事前準備
0.1 事前準備
0.2 世界最大的套件庫npm
|CHAPTER 01| 從無到有建立React的開發環境
1.1 為什麼需要了解開發環境?
1.2 建立React專案最簡單的方法─create-react-app
1.3 用Webpack打包你的心血結晶
1.4 ES6不支援?JSX瀏覽器看不懂?靠Babel編譯吧!
1.5 善用SCSS讓CSS寫法更上一層樓
1.6 加上webpack-dev-server提高開發速度
|CHAPTER 02| 從Hooks開始的React新生活
2.1 打開通往React世界的大門
2.2 關於JSX一口氣全說完
2.3 用useState管理元件的State
2.4 掌管元件一切作用的useEffect
2.5 從React.memo、useMemo和useCallback優化效能
2.6 製作一個自己的Hooks掌管共用邏輯
|CHAPTER 03| 用Router來控制元件的呈現
3.1 為什麼需要Router以及什麼是SPA(Single-Page Application)?
3.2 Router的基本用法
3.3 透過URL傳遞參數給元件─match
3.4 使用Hooks讓控制Router寫法更簡潔
|CHAPTER 04| 用Redux管理更龐大的State
4.1 Redux的基本介紹
4.2 Redux的資料架構及狀態管理篇
4.3 Redux的事件觸發篇
4.4 用Hooks取代connect麻煩的寫法
4.5 製作一個logger來了解Middleware
4.6 用Redux Thunk來處理非同步事件
|CHAPTER 05| 為程式碼做單元測試
5.1 單元測試基本介紹
5.2 Jest的基本用法
5.3 善用Mock取代真實環境
5.4 導入@testing-library/react測試元件
5.5 測試使用了Redux的元件
5.6 如何對Router使用單元測試
5.7 為你的自定義Hooks做測試
|CHAPTER 06| 為React專案導入TypeScript
6.1 TypeScript是什麼?能吃?
6.2 把TypeScript放進React專案裡
6.3 在React中使用TypeScript的那些事
|CHAPTER 07| 實際演練─雖然很俗氣,但還是從待辦事項開始
7.1 待辦事項
7.2 在GitHub上讓你的作品發光發熱
|CHAPTER 08| 實際演練─製作一個可重用的元件發布到npm上
8.1 可重用的程式碼
8.2 將可重用的元件發布到npm
|CHAPTER 00| 開發React專案的事前準備
0.1 事前準備
0.2 世界最大的套件庫npm
|CHAPTER 01| 從無到有建立React的開發環境
1.1 為什麼需要了解開發環境?
1.2 建立React專案最簡單的方法─create-react-app
1.3 用Webpack打包你的心血結晶
1.4 ES6不支援?JSX瀏覽器看不懂?靠Babel編譯吧!
1.5 善用SCSS讓CSS寫法更上一層樓
1.6 加上webpack-dev-server提高開發速度
|CHAPTER 02| 從Hooks開始的React新生活
2.1 打開通往React世界的大門
2.2 關於JSX一口氣全說完
2.3 用useState管理元件的State
2.4 掌管元件一切作用的...
購物須知
關於二手書說明:
商品建檔資料為新書及二手書共用,因是二手商品,實際狀況可能已與建檔資料有差異,購買二手書時,請務必檢視商品書況、備註說明及書況影片,收到商品將以書況影片內呈現為準。若有差異時僅可提供退貨處理,無法換貨或再補寄。
商品版權法律說明:
TAAZE 單純提供網路二手書託售平台予消費者,並不涉入書本作者與原出版商間之任何糾紛;敬請各界鑒察。
退換貨說明:
二手書籍商品享有10天的商品猶豫期(含例假日)。若您欲辦理退貨,請於取得該商品10日內寄回。
二手影音商品(例如CD、DVD等),恕不提供10天猶豫期退貨。
二手商品無法提供換貨服務,僅能辦理退貨。如須退貨,請保持該商品及其附件的完整性(包含書籍封底之TAAZE物流條碼)。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱
退換貨原則、
二手CD、DVD退換貨說明。