買這商品的人也買了...
-
你所不知道的 JS|導讀,型別與文法 (You Don't Know JS: Up & Going)$520$411 -
使用者故事對照 (User Story Mapping: Discover the Whole Story, Build the Right Product)$580$458 -
讓 TypeScript 成為你全端開發的 ACE!(iT邦幫忙鐵人賽系列書)$650$507 -
在 React 生態圈打滾的一年 feat.TypeScript(iT邦幫忙鐵人賽系列書)$550$429 -
$862React 全家桶 : 前端開發與實例詳解 (Fullstack React: The Complete Guide to ReactJS and Friends) -
Clean Code 學派的風格實踐:開發可靠、可維護又強健的 JavaScript (Clean Code in JavaScript)$690$538 -
頂級網站技術長高度:前端工程進階大師指南$880$695 -
經理人之道:技術領袖航向成長與改變的參考指南 (The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change)$480$379 -
$894Java 高並發核心編程 捲1 (NIO\Netty\Redis\ZooKeeper) -
React 學習手冊, 2/e (Learning React: Modern Patterns for Developing React Apps, 2/e)$580$458 -
$653TypeScript 入門與區塊鏈項目實戰 -
JavaScript 爬蟲新思路!從零開始帶你用 Node.js 打造 FB&IG 爬蟲專案(iT邦幫忙鐵人賽系列書)$620$484 -
React 思考模式: 從 hook 入門到開發實戰 (特價書)$500$350 -
從 0 到 Webpack 學習 Modern Web 專案的建置方式(iT邦幫忙鐵人賽系列書)$620$484 -
喬叔帶你上手 Elastic Stack:Elasticsearch 的最佳實踐與最佳化技巧(iT邦幫忙鐵人賽系列書)$680$530 -
$755Node.js 設計模式, 3/e (Node.js Design Patterns - Design and implement production-grade Node.js applications using proven patterns and techniques, 3/e) -
$568Vue.js 設計與實現 -
JavaScript 多執行緒|超越事件迴圈的並行 (Multithreaded JavaScript)$580$458 -
AWS 職場實戰手冊 - 企業架站、安全防護、費用監控,用最省錢的方式紮實學會!$620$527 -
動手學 GitHub!現代人不能不知道的協同合作平台$600$474 -
Web Hacking 現場指南:真實世界抓漏和獵蟲的賞金之旅 (Real-World Bug Hunting: A Field Guide to Web Hacking)$550$363 -
LINE 聊天機器人 + AI + 雲端 + 開源 + 程式:輕鬆入門到完整學習$600$474 -
哎呀!不小心刻了一套 React UI 元件庫 : 從無到有輕鬆上手(iThome鐵人賽系列書)$650$507 -
NestJS 基礎必學實務指南:使用強大且易擴展的 Node.js 框架打造網頁應用程式 (iThome鐵人賽系列書)$620$484 -
React 設計原理$654$621
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書從基礎內容出發,詳細梳理了瀏覽器的基礎導航能力、history庫的使用及原理,以及React Hooks等基礎知識,幫助讀者學習並掌握React Router的前驅知識。同時,本書從React Router的發展歷程、技術演變出發,介紹了React Router的設計思路,並通過路由器、路由埠、導航三要素,引出React Router的基本使用方法,並對源碼進行了全面解析。此外,本書各章使用React Hooks穿插了30餘個案例,在兼顧實用性、可擴展性的同時,為讀者學習與理解React Router提供了全面豐富的素材。通過閱讀本書,讀者不僅可以融會貫通地掌握React Router,而且能提升對前端路由的認識,並掌握前端領域路由的設計思路與方法。本書適合有JavaScript或TypeScript基礎,想要學習使用React Router,或對React Router實現原理和工程實踐感興趣的開發者閱讀。
作者簡介
李楊韜,一線前端工程師,碩士畢業於東南大學,目前在美團點評工作,專註於Web開發,擁有多年工程經驗,參與過眾多大型Web項目的設計,開發,同時也喜愛探索Web前沿技術。
目錄大綱
第1章導航相關前驅知識1
1.1 URI和URL 1
1.1.1 URI和URL簡介1
1.1.2瀏覽器URI編碼3
1.2瀏覽器記錄4
1.2.1 history.pushState 5
1.2.2 history.replaceState 9
1.2. 3通過相對路徑添加和修改瀏覽器記錄11
1.2.4在base元素存在的情況下添加和修改瀏覽器記錄14
1.3在瀏覽器中跳轉15
1.3.1 window.history.go 15
1.3.2 window. history.forward 16
1.3.3 window.history.back 16
1.3.4 window.location.href 17
1.3.5 window.location.hash 17
1.3.6 window.location.replace 18
1.4瀏覽器相關事件介紹19
1.4.1 popstate事件19
1.4.2 hashchange事件21
1.4.3手動觸發事件22
1.5小結24
參考文獻24
第2章history庫詳解26
2.1 history庫概述26
2.2 browserHistory 32
2.2.1創建browserHistory 32
2.2.2 history導航33
2.2.3 history監聽37
2.3 hashHisotry 38
2.3.1創建hashHisotry 38
2.3.2 history導航40
2.3.3 history監聽45
2.3.4 history.createHref 47
2.4 memoryHistory 49
2.4.1創建memoryHistory 49
2.4.2 history導航50
2.4.3 history監聽53
2.5 history庫原理54
2.5.1 history庫的運行流程54
2.5.2 history模擬歷史棧55
2.5.3 browserHistory事件處理57
2.5.4 hashHistory事件處理58
2.5.5 history.block原理解析60
2.6 history庫限制63
2.6.1 history.block的使用限制63
2.6.2 decodeURI解碼問題64
2.7使用history替換頁面search和hash示例70
2.8小結71
參考文獻71
第3章React相關知識72
3.1 Context 72
3.2 Hooks 76
3.2.1 useState 76
3.2.2 useEffect 78
3.2.3 useLayoutEffect 84
3.2.4 useRef 86
3.2 .5 useMemo 87
3.2.6 useContext 89
3.2.7自定義Hook 89
3.3 Refs 90
3.3.1 createRef 90
3.3.2 forwardRef 91
3.4 Memo 91
3.5小結94
參考文獻94
第4章認識React Router 95
4.1 React Router是什麼95
4.2 React Router版本的演進96
4.3靜態路由與動態路由97
4.4使用React Router實現一個工程應用98
4.5小結107
第5章Router 109
5.1 Router是什麼109
5.2 Router源碼解析110
5.2.1 history監聽110
5.2.2提供初始Context 110
5.2.3提前監聽113
5.3 BrowserRouter 113
5.4 HashRouter 114
5.5 NativeRouter 115
5.6 StaticRouter 116
5.7相關Hooks 121
5.7.1 useRouterContext 122
5.7.2 useHistory 122
5.7.3 useLocation 123
5.8小結124
參考文獻124
第6章Route 125
6.1 Route是什麼125
6.2 Route的兩個基本要素125
6.2.1 Route的**個要素:path 126
6.2.2 Route的第二個要素:組件渲染方式134
6.3 Route傳入組件的3個參數138
6.3.1 match 138
6.3.2 location 140
6.3.3 history 141
6.4 Route的其他配置142
6.4.1 location 142
6.4.2 exact 142
6.4.3 strict 143
6.4.4 sensitive 144
6.5 Route源碼解析144
6.5.1上下文的更新144
6.5.2運行流程147
6.6相關Hooks 149
6.6. 1 useRouteMatch 149
6.6.2 useParams 149
6.7 Route實戰案例150
6.7.1嵌套Route 150
6.7.2相對路徑Route 152
6.7.3重定向Route 153
6.7.4默認子組件Route 156
6.7.5緩存Route 158
6.7. 6 Route渲染組件的可訪問性支持165
6.7.7 query及命名參數166
6.7.8 Route中的代碼拆分168
6.8小結169
參考文獻170
第7章Link 171
7.1 Link介紹171
7.1.1 Link的定義及屬性171
7.1.2 Link源碼解析174
7.2 NavLink 176
7.2.1帶激活態的Link 176
7.2.2轉義特殊字符178
7.2.3 NavLink源碼解析178
7.3 DeepLinking 181
7.4 BackButton 182
7.5導航實戰案例183
7.5.1為導航組件擴展路由匹配183
7.5.2相對上下文路徑導航組件184
7.5.3相對上下文路徑的導航方法185
7.5.4為導航組件擴展search和hash支持188
7.6小結191
參考文獻191
第8章其他路由組件及方法192
8.1 Switch 192
8.1.1 Switch簡介192
8.1.2 Switch源碼解析194
8.2 Redirect 196
8.2.1基本跳轉196
8.2.2條件跳轉197
8.2.3源碼解析198
8.3 Prompt 201
8.4 withRouter 203
8.5 matchPath 205
8.6實戰案例206
8.6.1路由動畫206
8.6.2 Prompt組件210
8.6.3 404頁面212
8.6.4不銷毀未命中路徑組件的擴展Switch 215
8.7小結218
參考文獻219
第9章進階實戰案例220
9.1路由組件的滾動恢復220
9.1.1 scrollRestoration 220
9.1.2容器元素滾動恢復221
9.1.3滾動管理者ScrollManager 221
9.1.4滾動恢復執行者ScrollElement 224
9.1.5多次嘗試機制227
9.2異步history方法229
9.2.1提升history方法229
9.2.2導航感知231
9.3為路由引入hash定位233
9.3.1頁面加載233
9.3.2異步數據加載235
9.4為組件引入路由生命週期237
9.4.1路由生命週期237
9.4.2實現路由生命週期高階組件241
9.5 React Router狀態同步Redux 246
9.5.1接入connected-react-router 246
9.5.2 connected-react-router原理分析249
9.6 React Router狀態同步Mobx 251
9.7路由與組件的結合實戰252
9.7.1路由結合Tabs組件252
9.7.2路由結合Modal組件256
9.7.3路由結合BreadCrumb組件257
9.8為history方法引入前置中間件260
9.8.1 Redux中間件260
9.8.2中間件定義261
9.8.3實現history中間件263
9.9組件路由化268
9.9.1為組件加入path屬性268
9.9.2為組件賦予路由269
9.10路由與頁簽機制274
9.10.1頁簽介紹274
9.10.2頁簽配置276
9.10.3頁簽實現277
9.11在React Hooks中使用路由282
9.11.1通過React Hooks獲得路由組件282
9.11.2實現useHookRoutes 284
9.12微服務路由286
9.12.1微服務介紹286
9.12.2實現示例287
9.13配置化路由擴展294
9.13.1配置化路由與react-router-config 294
9.13.2重新實現配置化路由298
9.14配置化路由綜合示例303
9.14.1路由配置304
9.14.2導航310
9.14.3使用頁簽組件318
9.14.4頁簽棧維護325
9.15小結335
參考文獻336
附錄A從React Router v3.x遷移到React Router v4.x及以上版本337
