- 深入淺出React和Redux
- 程墨
- 1500字
- 2019-01-04 20:50:52
前言
互聯網技術發展一日千里,網頁應用開發技術也不例外,這本書介紹的是在這一領域備受矚目的兩個工具React和Redux。
自從jQuery問世以來,它就在網頁開發領域占據統治地位,同時,還有許多MVC框架如雨后春筍般出現。但是業界也普遍發現,jQuery和各種MVC框架在開發大型復雜應用時,依然面臨很多難以克服的困難。
當2014年Facebook推出React時,給整個業界帶來全新的看待網頁應用開發的方式,和React一同問世的Flux,也克服傳統MVC框架的很多弊病。技術在不斷發展,在2015年,Flux的一個變體Redux出現,進一步優化了Flux的功能。
React和Redux的結合,讓網頁開發的方式耳目一新,寫這本書的初衷,是為了讓國內讀者能夠一睹React和Redux的內在原理并深入實踐。
在這里深入介紹React和Redux,絕不是貶抑其他前端框架,事實上,開發者應該接觸不同的開發模式,才能融會貫通,對技術有一個全面的認識,若要掌握某種技術,就要深入學習,這就是本書的目的。對React和Redux的了解不要只是停留在能用的表面功夫,重要的是理解內在的原理。
本書的內容
希望讀者把閱讀這本書的過程當做一個旅程,由淺入深地了解React和Redux,如果你對React和Redux技術已經有一些了解,可以直接跳到感興趣的章節。本書包括12章,如下所示。
第1章,React新的前端思維方式。實際操作快速創建一個React應用,介紹和傳統網頁開發相比React應用開發的獨特方式。
第2章,設計高質量的React組件。React提倡基于組件的設計,這一章通過開發一個ControlPanel組件的實踐,介紹了開發高質量React組件的原則,詳細介紹React組件的生命周期和數據管理方式。
第3章,從Flux到Redux。通過Flux介紹了單向數據流的框架模式,由此引出比Flux更優秀的Redux框架,通過用不同框架實現ControlPanel應用可以比較框架的優劣。
第4章,模塊化React和Redux應用。這一章通過開發一個Todo應用介紹將React和Redux結合的方法。
第5章,React組件的性能優化。通過對Todo應用的性能優化,介紹提高React組件渲染性的方法,以及提高從Store獲取數據性能的方法。
第6章,React高級組件。介紹高階組件和“以函數為子組件”的模式。
第7章,Redux和服務器通信。通過開發一個天氣信息應用的實踐,介紹應如何在React和Redux的環境中實現與服務器的通信。
第8章,單元測試。介紹針對React和Redux的單元測試技巧。
第9章,擴展Redux。介紹創建中間件和Store Enhancer的技巧。
第10章,動畫。介紹在React中通過ReactTransitionGroup和React-Motion庫實現動畫的技巧。
第11章,多頁面應用。介紹如何創建多頁面路由,以及為了提高網頁裝載性能的代碼分片技巧。
第12章,同構。創建讓React組件能夠在服務器端和瀏覽器端渲染的技術。
本書的目標讀者
閱讀這本書只需要一些基本的JavaScript、HTML和CSS知識,了解網頁應用的工作原理,就足夠具備體驗React和Redux這種全新的開發方式。
如果你熟悉傳統的jQuery應用開發,那么通過閱讀本書會讓你發現不一樣的應用構建模式;如果你之前學習過Angular.js或者Vue.js,那么對理解React和Redux的工作機理很有幫助,同時有機會體驗同樣一種思想的不同實現之道。
即使你對React和Redux已經有了一定認識,相信閱讀此書也不會讓你覺得是浪費時間,因為書中不只是介紹“如何去做”,更多地還解釋了“為什么這么做”,相信閱讀此書會讓你對React和Redux會有更多更深的認識。
源代碼
本書每章都附帶大量的實際代碼例子,因為篇幅所限,在書中不可能包含所有代碼,讀者可以在Github(網址github.com/mocheng/react-and-redux)上找到所有代碼,代碼按照所屬章節內容組織。
如果讀者發現代碼或者書中的錯誤,可以直接在上面網址對應的代碼庫中提交問題,請不吝斧正。
致謝
首先要感謝我的家人,沒有他們的幫助和理解,這本書不可能完成。
感謝Hulu公司,本書中的很多內容都是和Hulu的研發團隊協同合作中得到的體會。
感謝機械工業出版社的吳怡編輯,因為她的鼓勵和幫助,這本書才得以問世。
最后要感謝React和Redux社區,因為千千萬萬開發者以開放的心態貢獻代碼和積極討論,前端開發技術才獲得巨大的飛躍,這個世界才變得更加美好。