- React工程師修煉指南
- 開課吧組編 高少云 莫濤 韓明洋 余維海編著
- 1422字
- 2021-04-14 11:28:38
前言
隨著信息時代的到來,數字化經濟革命的浪潮正在大刀闊斧地改變著人類的工作方式和生活方式。在數字化經濟時代,從抓數字化管理人才、知識管理人才和復合型管理人才教育入手,加快培養知識經濟人才隊伍,為企業發展和提高企業核心競爭能力提供強有力的人才保障。目前,數字化經濟在全球經濟增長中扮演著越來越重要的角色,以互聯網、云計算、大數據、物聯網、人工智能為代表的數字技術近幾年發展迅猛,數字技術與傳統產業的深度融合釋放出巨大能量,成為引領經濟發展的強勁動力。
React是2013年Facebook發布的一個前端庫,不僅率先提出了虛擬DOM的概念,更通過時間的考驗被業內人士認可其是一款高效且實用的精品軟件。React采用了虛擬DOM、Hooks思想和diff深度優先。React使用Fiber架構來減低渲染顆粒度,實現增量渲染。由于React Fiber目前的架構屬于單向鏈表,因此只能實現單向查找。
最初的React中從虛擬DOM到真實DOM,用的是遞歸遍歷,這種方法不適用于大型項目,因為只有一個主線程,當主線程被持續占用時,就會造成后面任務的延遲,如果后面任務是需要被立即執行的任務,如動畫,那此時用戶就會發現動畫出現卡頓。React為了改善這種問題,引進了fiber架構,實現增量渲染,即可以根據任務優先級來決定任務執行的順序,這極大提升了React在處理大型項目時的流暢度。除了虛擬DOM、Fiber架構的革新,針對函數組件,React又創造性地引入了Hooks,Hooks的出現使得函數組件擁有狀態、副作用執行等新功能,因此現在的函數組件功能完整,可取代之前的class組件。
React的創新是值得大部分開發人員學習的。目前React最新版本是16.13,本書內容均是來自此版本。當然,React依然處于高速更新中,目前React正在更新的內容包括合成事件、diff算法等。本書的React版雖然不是最新的版本,但是主要目的是幫助讀者系統學習React的思想,而不僅僅是API的使用。
為了幫助讀者更好地掌握React,本書第1章從ES6基礎開始介紹,給出了React重要API的使用方法與樣例。對于大型應用,由于React沒有通信處理功能,此時就需要借助第三方庫,如Redux與React-Redux,路由方面可以使用React-Router,關于這三個庫的詳細使用,本書第2~4章均有詳細講解。如果讀者能夠掌握前4章內容,對初步開發React項目就比較有把握了。本書第5章為商城項目實戰,此章會引導讀者開發一個常見的商城項目,該項目采用當下最流行的umi框架,UI庫使用antd4,基于TypeScript開發。開發本項目之前,建議讀者先去umi和antd官網了解其基本使用方法,當然對于TypeScript新手來說,直接使用TypeScript開發會有一點吃力,但是類型檢測開發是目前的一個流行趨勢,以后會被廣泛使用,不論是學習還是求職,都有必要掌握。第6章為React原理解析,建議讀者重點掌握,學習一個框架的核心就是掌握其原理。第7章為工程化配置,該章內容在構建項目和優化配置方面非常重要,建議結合第5章內容學習掌握。
任何一個框架都有被淘汰的一天,React也不會例外,但是它提出的創新思維和源代碼編寫方法,值得所有從業者學習借鑒,以此來擴展開發人員的思路,幫助讀者成為一個優秀的開發者,而不僅僅是代碼的搬運工。本書或許沒有那么簡單易懂,很多地方需要讀者花一些心思去理解,但學習React就是要經歷這樣的過程,希望讀者耐心學習理解,逐步提升React開發和實戰能力。
本書每章都配有專屬二維碼,讀者掃描后即可觀看作者對于本章重要知識點的講解視頻。掃描下方的開課吧公眾號二維碼將獲得與本書主題對應的課程觀看資格及學習資料,同時可以參與其他活動,獲得更多的學習課程。此外,本書配有源代碼資源文件,讀者可登錄https://github.com/kaikeba免費下載使用。
限于時間和作者水平,書中難免有不足之處,懇請讀者批評指正。
編者
