React(第2版):引領未來的用戶界面開發框架

React(第2版):引領未來的用戶界面開發框架

《React(第2版):引領未來的用戶界面開發框架》 一書原作者(美)League of Extraordinary Developers(卓越開發者聯盟),中文版由寸志、范洪春、楊森、題葉譯,電子工業出版社2016年11月出版

內容提要

Facebook的開源框架React.js,基於Virtual DOM重新定義了用戶界面的開發方式,徹底革新了大家對前端框架的認識,將PHP風格的開發方式遷移到客戶端套用開發。其優勢在於可以與各種類庫、框架搭配使用。《React(第2版):引領未來的用戶界面開發框架》由多位一線專家精心撰寫,採用全程實例介紹和剖析了React.js的方方面面,適合廣大前端開發者、設計人員,以及所有對未來技術趨勢感興趣者閱讀。《React(第2版):引領未來的用戶界面開發框架》前版作為React首作推出之後,React生態繼續蓬勃發展,技術及社區都在不斷推陳出新。《React(第2版):引領未來的用戶界面開發框架》諸位專家作者適時推出新版,全面更新示例,用 ES6重寫代碼,摒棄社區棄用範式,新增無狀態組件、不可變數據、Redux等熱點內容。閱讀《React(第2版):引領未來的用戶界面開發框架》書,不但可以夯實 React開發基礎,更能全方位緊跟整個React生態!

目錄

推薦序1 III

推薦序2 V

推薦序3 VII

前言 IX

第 1 章?React 簡介 1

背景介紹 1

本書概覽 3

Component的創建和複合 3

進階 5

React工具 6

React實踐 6

第 2 章?JSX 8

什麼是JSX 9

使用JSX的好處 10

更加熟悉 10

更加語義化 10

更加直觀 11

關注點分離 12

複合組件 12

定義一個自定義組件 12

使用動態值 13

子節點 14

JSX與HTML有何不同 16

屬性 16

條件判斷 17

非DOM屬性 19

事件 21

注釋 22

特殊屬性 23

樣式 23

沒有JSX的React 24

創建React元素 24

延伸閱讀及參考引用 25

JSX官方規範 25

第 3 章?組件的生命周期 26

生命周期方法 26

實例化 27

存在期 27

銷毀&清理期 27

實例化 27

componentWillMount 28

render 28

componentDidMount 29

存在期 30

componentWillReceiveProps 30

shouldComponentUpdate 30

componentWillUpdate 31

componentDidUpdate 31

銷毀&清理期 32

componentWillUnmount 32

反模式:把計算後的值賦給state 32

總結 33

第 4 章?數據流 34

Props 35

PropTypes 36

defaultProps 37

State 37

放在state和props的各是哪些部分 40

無狀態的函式式組件 40

總結 41

第 5 章?事件處理 42

綁定事件處理器 43

事件和狀態 44

根據狀態進行渲染 44

更新狀態 45

狀態沒有“更新”! 46

事件對象 47

總結 48

第 6 章?組件的複合 49

擴展HTML 50

組件複合的例子 50

組裝HTML 51

追蹤狀態 53

整合到父組件當中 54

父組件與子組件的關係 56

總結 59

第 7 章?高階組件和Mixins 60

簡單的例子 60

常見使用場景 63

總結 63

第 8 章?DOM操作 64

訪問受控的DOM節點 65

在組件內部查找DOM節點 66

整合非React類庫 67

侵入式外掛程式 70

總結 72

第 9 章?表單 73

無約束的組件 74

約束組件 76

表單事件 78

Label 79

文本框和 Select 79

複選框和單選框 82

表單元素的name屬性 84

多個表單元素與change處理器 86

自定義表單組件 89

Focus 93

可用性 93

把要求傳達清楚 94

不斷地反饋 94

迅速回響 94

符合用戶的預期 95

可訪問 95

減少用戶的輸入 96

總結 97

第 10 章?動畫 98

CSS漸變組 99

給漸變class添加樣式 99

漸變生命周期 100

使用漸變組的隱患 101

間隔渲染 101

使用requestAnimationFrame實現間隔渲染 102

使用setTimeout實現間隔渲染 104

彈簧動畫 105

總結 106

第 11 章?性能最佳化 107

shouldComponentUpdate 107

鍵(key) 109

總結 111

第 12 章?服務端渲染 112

渲染函式 113

React.renderToString 113

React.renderToStaticMarkup 114

用React.renderToString還是用React.renderToStaticMarkup 114

服務端組件生命周期 115

設計組件 116

異步狀態 118

同構路由 121

單例、實例及上下文 121

總結 122

第 13 章?開發工具 123

構建工具 123

Browserify 124

建立一個Browserify項目 124

對代碼做出修改 126

Watchify 127

構建 127

Webpack 127

Webpack與React 128

調試工具 131

基礎工具 131

總結 133

第 14 章?測試 134

上手 135

測試的類型 135

工具 136

使用Jest和Enzyme測試React組件 136

編寫組件的內容的斷言 136

測試組件的方法和DOM事件 143

編寫子組件的斷言 144

總結 147

第 15 章?架構模式 148

路由 149

react-router 150

Flux 152

數據流 152

Flux各個部分 153

Dispatcher 153

Action 154

Store 154

控制視圖 155

管理多個Store 156

總結 161

第 16 章?不可變性 162

性能優勢 162

性能消耗 163

架構優勢 164

使用Immutability Helpers Addon 164

使用seamless-immutable 166

使用Immutable.js 167

Immutable.Map 168

Immutable.Vector 168

總結 169

第 17 章?其他使用場景 170

桌面套用 171

遊戲 172

電子郵件 177

繪圖 183

總結 186

相關詞條

熱門詞條

聯絡我們