【本書特色】
阿里巴巴釘釘前端技術(shù)專家核心等三位大咖力薦
全面、深入分享資深前端技術(shù)專家多年一線開發(fā)經(jīng)驗(yàn)
詳解95個示例、1個項(xiàng)目案例,均給出了翔實(shí)的源代碼及代碼解讀
React入門à React應(yīng)用實(shí)踐àReact企業(yè)級項(xiàng)目開發(fā)
React應(yīng)用設(shè)計(jì)àReact應(yīng)用創(chuàng)建àReact應(yīng)用開發(fā)
詳解React.js服務(wù)端渲染,以更短時間掌握J(rèn)avaScript全棧開發(fā)
詳解Webpack、Babel、ES6和Node.js等新的前端技術(shù)混合應(yīng)用
不但對React及Redux前端開發(fā)做了介紹,而且也對其周邊生態(tài)做了介紹
【3位專家推薦】
阿里巴巴釘釘前端技術(shù)專家核心
宋小菜Scott
貝貝集團(tuán)大前端架構(gòu)負(fù)責(zé)人Early
【本書精華內(nèi)容】
ES6語法
React.js diff算法介紹(時間復(fù)雜度)
React組件
React表單和事件
React數(shù)據(jù)流管理
React路由
React的性能及性能優(yōu)化
React服務(wù)端渲染
自動化測試
React+Redux搭建社區(qū)項(xiàng)目
本書是一本React入門書,也是一本React實(shí)踐書,更是一本React企業(yè)級項(xiàng)目開發(fā)指導(dǎo)書。全書系統(tǒng)地介紹了以React.js為中心的各種前端開發(fā)技術(shù),可以幫助前端開發(fā)人員系統(tǒng)地掌握這些知識,提升自己的開發(fā)水平。
本書共9章,依次介紹了用Webpack構(gòu)建項(xiàng)目、模塊化與組件開發(fā)、React中的事件系統(tǒng)與表單、React+Redux數(shù)據(jù)流管理、react-router路由、React性能優(yōu)化原理與方法、React服務(wù)端渲染、自動化測試工具與實(shí)戰(zhàn),最后通過一個企業(yè)級項(xiàng)目開發(fā)實(shí)戰(zhàn)案例,帶領(lǐng)讀者進(jìn)一步夯實(shí)并實(shí)踐React知識。
本書是一本大前端學(xué)習(xí)入門與實(shí)戰(zhàn)讀物,不僅適合React開發(fā)人員閱讀,也適合跨平臺開發(fā)的前端人員閱讀,而且還可以作為React開發(fā)的“字典”供開發(fā)人員隨時翻閱。
徐順發(fā)(Allan) 貝貝集團(tuán)前端技術(shù)專家。愛折騰,熱衷于技術(shù)研究和技術(shù)分享。主攻前端架構(gòu)和各類框架,擅長React.js、Vue.js和Node.js等主流技術(shù)棧。曾經(jīng)獲得了2018年SegmentFault Hackathon區(qū)塊鏈黑客馬拉松冠軍。
(限于篇幅,部分章節(jié)只給出了二級目錄,完整目錄請查看圖書)
前言
第1章 React入門 1
1.1 開始學(xué)習(xí)React之前 1
1.1.1 下載與使用Node.js和NPM 1
1.1.2 模塊打包工具之Browserify 2
1.1.3 模塊打包工具之Webpack 3
1.1.4 第一個Webpack構(gòu)建實(shí)戰(zhàn) 6
1.1.5 Webpack loader實(shí)戰(zhàn) 7
1.1.6 Webpack配置詳解 9
1.1.7 ES 6語法 15
1.2 React簡介 22
1.3 React的特征 23
1.3.1 組件化 23
1.3.2 虛擬DOM 24
1.3.3 單向數(shù)據(jù)流 25
1.4 JSX語法 25
1.4.1 JSX簡介 25
1.4.2 JSX的轉(zhuǎn)譯 27
1.4.3 JSX的用法 29
1.5 Hello World實(shí)戰(zhàn)訓(xùn)練 34
1.5.1 不涉及項(xiàng)目構(gòu)建的Hello World 34
1.5.2 基于Webpack的Hello World 35
1.5.3 Hello World進(jìn)階 39
第2章 React的組件 44
2.1 組件的聲明方式 44
2.1.1 ES 5寫法:React.createClass() 44
2.1.2 ES 6寫法:React.Component 45
2.1.3 無狀態(tài)組件 46
2.2 組件的主要成員 47
2.2.1 狀態(tài)(state) 47
2.2.2 屬性(props) 49
2.2.3 render()方法 49
2.3 組件之間的通信 52
2.3.1 父組件向子組件通信 52
2.3.2 子組件向父組件通信 53
2.3.3 跨級組件通信 54
2.3.4 非嵌套組件通信 56
2.4 組件的生命周期 58
2.4.1 組件的掛載 58
2.4.2 數(shù)據(jù)的更新過程 60
2.4.3 組件的卸載(unmounting) 61
2.4.4 錯誤處理 61
2.4.5 老版React中的生命周期 62
2.4.6 生命周期整體流程總結(jié) 63
2.5 組件化實(shí)戰(zhàn)訓(xùn)練——TodoList 64
第3章 React的事件與表單 70
3.1 事件系統(tǒng) 70
3.1.1 合成事件的事件代理 70
3.1.2 事件的自動綁定 71
3.1.3 在React中使用原生事件 73
3.1.4 合成事件與原生事件混用 73
3.2 表單(Forms) 75
3.2.1 受控組件 75
3.2.2 非受控組件 77
3.2.3 受控組件和非受控組件對比 78
3.2.4 表單組件的幾個重要屬性 80
3.3 React的樣式處理 80
3.3.1 基本樣式設(shè)置 80
3.3.2 CSS Modules樣式設(shè)置 82
第4章 React+Redux數(shù)據(jù)流管理 86
4.1 Flux架構(gòu) 86
4.1.1 MVC和MVVM 86
4.1.2 Flux介紹 90
4.1.3 深入Flux 91
4.1.4 Flux的缺點(diǎn) 96
4.1.5 Flux架構(gòu)小結(jié) 97
4.2 Redux狀態(tài)管理工具 97
4.2.1 Redux簡介 97
4.2.2 Redux的使用場景 98
4.2.3 Redux的動機(jī) 99
4.2.4 Redux三大特性 99
4.2.5 Redux的組成——拆解商城購物車實(shí)例 100
4.2.6 Redux搭配React使用 105
4.3 middleware中間件 109
4.3.1 為何需要middleware 109
4.3.2 深入理解middleware 109
4.4 Redux實(shí)戰(zhàn)訓(xùn)練——網(wǎng)上書店 113
4.4.1 目錄結(jié)構(gòu) 113
4.4.2 應(yīng)用入口 src/index.js 114
4.4.3 Action的創(chuàng)建和觸發(fā) 116
4.4.4 Reducer的創(chuàng)建 118
4.4.5 UI展示組件的創(chuàng)建 122
4.4.6 發(fā)起一個動作Action(添加商品到購物車) 124
第5章 路由 127
5.1 前端路由簡介 127
5.2 前端路由的實(shí)現(xiàn)原理 127
5.2.1 history API方式 128
5.2.2 Hash方式 129
5.3 react-router路由配置 130
5.3.1 react-router的安裝 131
5.3.2 路由配置 131
……