- 深入理解React Router:從原理到實(shí)踐
- 李楊韜
- 870字
- 2021-04-16 16:10:32
序 Foreword
在我剛進(jìn)入前端開發(fā)行業(yè)的時候,業(yè)界普遍采用多頁面應(yīng)用的模式,前端頁面依附于服務(wù)端應(yīng)用平臺并作為展示模板,由服務(wù)端響應(yīng)頁面間的跳轉(zhuǎn)請求。隨著前端技術(shù)的飛速發(fā)展,AJAX逐漸成為流行的前后端通信技術(shù),使得頁面不再需要在頁面加載或表單提交時同步地向服務(wù)端提交或獲取數(shù)據(jù),而是異步地向服務(wù)端提交或獲取數(shù)據(jù)。從此,前后端分離時代來臨。
前后端分離時代的來臨,使得前后端分工逐漸趨于獨(dú)立,前端頁面不再依附于服務(wù)端,頁面直接部署于CDN中。頁面元素通過組件搭建而成,并直接在前端進(jìn)行狀態(tài)管理。原有的多頁面應(yīng)用也將頁面視為組件,開始出現(xiàn)單頁面應(yīng)用(Single Page Application,SPA)。
優(yōu)秀的單頁面應(yīng)用為用戶提供了近似本地軟件的體驗(yàn),早期最有名的便是Gmail。Gmail率先為業(yè)界展示了單頁面應(yīng)用的魅力,用戶在使用Gmail時,與使用本地郵件客戶端并無差別,用戶無須等待頁面刷新。
單頁面應(yīng)用要實(shí)現(xiàn)加載后無刷新的體驗(yàn),除了需要采用AJAX來代替表單提交,還離不開前端路由器。在瀏覽器環(huán)境當(dāng)中,用戶會對頁面進(jìn)行后退、前進(jìn)、保存書簽、分享URL等操作,這些操作原本是瀏覽器向服務(wù)端發(fā)送請求,由服務(wù)端路由進(jìn)行響應(yīng)支持的。而在前后端分離、單頁面的架構(gòu)下,對用戶此類行為的處理自然需要交到前端,于是業(yè)界很快開始抽象出前端路由。
React作為當(dāng)前業(yè)界流行的三大前端UI框架之一,其配套的前端路由React Router使用率也極高。截至2019年年末,react-router包每周下載量超過250萬次。前端工程師很有必要了解路由的使用方式和運(yùn)作原理,如果使用的是React,則很有必要了解React Router。
本書詳細(xì)地介紹了React Router的歷史演變、使用方式及運(yùn)作原理。
在使用方式上,書中提供了基礎(chǔ)場景的示例,讀者可以學(xué)到React Router的使用方式。在后面的進(jìn)階實(shí)戰(zhàn)示例章節(jié)中,讀者也可以學(xué)到在工程實(shí)踐中如何運(yùn)用前端路由。全書還包括對React當(dāng)前最新的React Hooks API的講解。
在運(yùn)作原理相關(guān)的章節(jié)中,從最基礎(chǔ)的URL、瀏覽器history API,到React Router的源碼實(shí)現(xiàn),都有詳細(xì)的講解,這對希望了解前端路由實(shí)現(xiàn)原理的工程師來說會有不少的幫助。
本書基本囊括了所有與React Router相關(guān)的技術(shù)知識和細(xì)節(jié),推薦想深入了解現(xiàn)代前端路由的工程師閱讀。
葉俊星(Jasin Yip)
全棧工程師,先后就職于美團(tuán)網(wǎng)、阿里巴巴
- 基于粒計(jì)算模型的圖像處理
- Objective-C Memory Management Essentials
- 程序員面試白皮書
- Python入門很簡單
- Java完全自學(xué)教程
- 單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例:基于STC8051+Proteus仿真與實(shí)戰(zhàn)
- 數(shù)據(jù)結(jié)構(gòu)(Java語言描述)
- Full-Stack React Projects
- INSTANT OpenNMS Starter
- Mastering ServiceNow(Second Edition)
- Visual C#.NET程序設(shè)計(jì)
- PHP 7從零基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)
- Python商務(wù)數(shù)據(jù)分析(微課版)
- C語言程序設(shè)計(jì)實(shí)踐
- Ubuntu Server Cookbook