官术网_书友最值得收藏!

Preface
前言

為什么要寫本書

曾幾何時,前端圈盛傳這樣一句話:“小公司用Vue,大公司用React。如果自己不去大公司,只要學會Vue就可以了,沒有學習React的必要。”難道真的是這樣嗎?并不是!這句話放到2016~2019年沒有什么錯,也確實代表著當時的市場情況,但是國內互聯網在經過2019年之后的高速發展,React的使用量在國內有了很大的增長。我們再來看看Stack Overflow 2022年關于Web框架使用情況的問卷調查,見右圖。

由右圖可以很直觀地看到React在前端框架中的地位。想必大家此時會有疑惑,這本書的主角是React Hooks,React使用率高,并不代表React Hooks的使用率就高呀!為此筆者在幾個前端技術群做了一個問卷調查,調查的結果大致如下頁圖所示。

基于上面兩個問卷調查,筆者決定寫一本React Hooks實踐指導書。因為上面的調查說明讀者需要這樣一本書,而且有越來越多的人正在加入React Hooks的陣營。當然,還有一個更重要的原因:網絡上關于React Hooks的學習資料相對匱乏,現有的資料大多只是對React Hooks進行概念性介紹,而實操性介紹很少。讀者如果通過這些資料來入門React Hooks,不僅會浪費大量時間,而且容易產生錯誤理解,走入歧途。學習一門新技術,如果開始的理解就是錯誤的,那么隨著后續的不斷使用,會連鎖出現理解錯誤。

筆者經常遇到React Hooks新人在技術交流群里問技術難點問題,從其言語之中能夠感受到他們的焦慮。筆者在幫助他們解決問題時提到自己想寫一本關于React Hooks的書,他們聽后都非常激動,并且不斷鼓勵筆者,這讓筆者下定決心把這本書寫好。

本書適用人群

□想提升自己、為進入大廠做準備的前端開發人員。

□想規范項目開發的前端開發人員。

□其他想學習React Hooks的前端開發人員。

□對前端有興趣的服務端開發人員。

本書能給你帶來什么

學習一門技術最好的方式是帶著需求、帶著目的學習。1000次理論講解可能都比不過一次實踐。基于這個觀點,本書不從理論層面介紹React Hooks,而從實戰層面講解React Hooks的使用方法,其中會穿插一些必要的理論介紹。

本書不僅講解了React Hooks的企業級實踐,而且講解了React Hooks與React Redux的配合使用。為了提升讀者的知識廣度,本書還通過一個實際案例(第7章)完整呈現了大廠企業級項目的上線發布流程。

本書主要從如下7個方面進行講解,幫助讀者真正學會并掌握React Hooks技術。

初識React Hooks:主要為了讓讀者初步認識React Hooks,了解與其他前端框架相比React Hooks有什么獨特的優勢及特點。

基礎環境搭建:從0到1搭建React Hooks項目開發環境,手寫Webpack配置。

核心API原理解讀與實踐:結合實際場景對React Hooks的每個API進行講解,幫助讀者掌握React Hooks的基礎使用方法,并知道如何在各種場景下合理使用React的每個API,讓讀者知其然亦知其所以然。

React Redux原理解讀與實踐:解讀Redux源碼,并且通過實踐案例學習React Redux。

React Hooks常見問題解析:解析一些真實開發場景下的問題,通過實例化講解,讓讀者在實際開發中解決此類問題時游刃有余。

常見的企業級Hooks解讀:分享一些常用優秀的Hooks庫,以提升讀者的開發效率,并講解這些Hooks庫的具體使用場景與使用方式。

企業級React Hooks項目架構與實戰:通過一個實際的電商后臺管理系統項目,搭建一個大型企業級通用開發環境,講解一些標準化的目錄,以及標準化的AJAX請求封裝、組件封裝、權限封裝、通用工具函數封裝、企業級開發規范等內容。

通過對本書的學習和實戰,讀者將不僅能掌握React Hooks的企業級開發實戰技巧,還能深入理解React Hooks,從而寫出高質量的企業級代碼。

如何閱讀本書

閱讀本書需要掌握的基礎知識有JavaScript、ES6、CSS、HTML、Webpack、網絡基礎、React基礎。其實不僅是閱讀本書,學習React Hooks這門技術需要的基礎知識也只有這么多。

那么具體如何閱讀本書呢?

1.閱

讀一本技術書和讀一本小說的區別還是很大的。讀小說最重要的是專注,而讀技術書,除了專注,還需要思考和實踐(寫代碼)。這里所說的思考是指帶著問題去學習。帶著問題去學習,即使是學習一個簡單的API也會有不一樣的收獲。比如,我們學習React Hooks時就可以帶著如下問題:

□為什么使用React Hooks的人越來越多而使用Class的人越來越少?

□React Hooks和React Class有什么區別?

讀者只有帶著問題去學習,才會產生屬于自己的理解,否則對新知識的理解會一直停留在使用層面。當然,上述問題僅是舉例,大家應該列出自己的問題。

那么這里所說的實踐指的又是什么呢?在閱讀本書的時候,請務必動手實現每一章的代碼。即使看似很簡單的代碼,筆者也建議讀者動手寫一遍。自己手寫過后,再對著代碼閱讀書中對應的文字解釋,然后思考代碼為什么這么寫,在實際開發中要如何用,這樣就會很快學會對應的內容。

2.練

記住,代碼是寫出來的,不是看或者聽出來的!無論看書還是看視頻,都要自己動手把相關的代碼寫出來。比如,閱讀完本書以后,會發現自己手中有大量的代碼(學習過程中寫了很多代碼),這個時候應該把這些代碼再重新寫十幾遍。此時腦中留下的就只有代碼及其邏輯了,而不是那些枯燥的文字。只有手上真真切切有了一個可運行的企業級的項目架構,才算是真正完成了對本書的閱讀和學習!

3.運用

筆者雖然經歷過很多實戰項目,但是從來沒有放棄對好代碼的收集,并經常“偷偷”閱讀同事的代碼和項目架構,“偷偷”把同事的項目代碼、項目架構和自己的做對比,然后取其精華,去其糟粕。筆者也會把自己的代碼架構融入他人的架構中,吸收他人好的架構模式。只有把自己寫過的代碼運用到真實的項目場景中去,多對比、多使用,才會更好地理解代碼的好與壞。對本書的學習也是如此,大家除了要隨著本書寫一遍書中的代碼外,還要自己去實現一遍,然后與本書提供的代碼進行比較,經過優化后再把自己的代碼運用到實際項目中。

另外有一點要提醒大家注意,第1~6章中所涉案例均采用JavaScript語言編寫,而第7章為了更加貼近實際開發需求,采用TypeScript語言編寫。

致謝

本書能夠順利完成,首先需要感謝前端開發這個行業,這個行業激發了筆者的熱情,也給了筆者很好的發展。在這里筆者要由衷感謝前端技術的領頭人,也是筆者在前端領域的第一位導師——大漠窮秋。

另外還要感謝正在閱讀本書的各位讀者,大家對筆者的關注和肯定,才是真正促成本書出版的原因。

希望前端越來越好,互聯網越來越好。

主站蜘蛛池模板: 亳州市| 太原市| 宜良县| 新野县| 义乌市| 阿拉尔市| 安仁县| 金秀| 元氏县| 罗甸县| 康定县| 旬阳县| 贵南县| 舞阳县| 隆化县| 漠河县| 班戈县| 乐至县| 岳阳县| 北碚区| 临洮县| 平罗县| 平原县| 当阳市| 西丰县| 柳州市| 乌兰县| 柞水县| 柳河县| 阿克陶县| 睢宁县| 景洪市| 怀化市| 句容市| 南丹县| 宜兴市| 海林市| 潢川县| 雅江县| 宁南县| 呼伦贝尔市|