《React:引領未來的用戶界面開發框架》是2015年5月電子工業出版社出版的圖書,作者是League of Extraordinary Developers(卓越開發者聯盟)。
基本介紹
- 書名:React:引領未來的用戶界面開發框架
- 作者:League of Extraordinary Developers(卓越開發者聯盟)
- 譯者:寸志,范洪春,楊森,陳涌
- ISBN:978-7-121-25936-4
- 頁數:224頁
- 定價:65.00元
- 出版社:電子工業出版社
- 出版時間:2015年5月
- 裝幀:平裝
- 開本:16開
內容簡介,作者簡介,內容提要,目錄,
內容簡介
2014 年橫空出世的由Facebook推出的開源框架React.js,基於VirtualDOM重新定義了用戶界面的開發方式,徹底革新了大家對前端框架的認識,將PHP風格的開發方式遷移到客戶端套用開發。其優勢在於可以與各種類庫、框架搭配使用。《React:引領未來的用戶界面開發框架》是這一領域的首作,由多位一線專家精心撰寫,採用一個全程實例全面介紹和剖析了ReactReact.js 的方方面面,適合廣大前端開發者、設計人員,及所有對未來技術趨勢感興趣者閱讀。
作者簡介
本書由一個團隊編寫而成,這個團隊的成員都是一些經驗豐富且專注於JavaScript 的開發者。
Tom Hallett 是一位高級Ruby 和JavaScript 工程師。他是jasmine-react 的作者,jasmine-react 是一個開源的類庫,旨在幫助開發者使用測試框架Jasmine 測試React 應用程式。他的愛好是打水球,以及與妻子和兒子待在一起。
Richard Feldman 是NoRedInk 的前端工程師。他是一個函式式編程愛好者,會議發言人,還是seamless-immutable的作者。seamless-immutable 是一個開源類庫,可以提供不可變的數據結構,向後兼容普通的JavaScript 對象和數組。
Simon 是一個高級UI 工程師,在羅德島普羅維登斯市的Swipely 公司工作。他是普羅維登斯市線下JS 見面會的核心組織者,之前還是波士頓創業學院的JavaScript 講師。他一直在使用JavaScript 開發功能性的用戶界面,也會開發一些像cssarrowplease.com 這樣的業餘項目。
Karl Mikkelsen 是LockedOn 的一位高級PHP 和JavaScript 工程師,工作是開發外觀漂亮且功能強大的房地產軟體。Karl 對新技術充滿熱情,喜歡學習以不同的方式做事。如果你在網上找不到他,那他很可能在和妻子攀岩或者在喝咖啡。
Jon Beebe 在Dave Ramsey 的數字開發團隊里開發套用,專注於一些面向用戶的技術,例如Web 和iOS。在這之前,他開發過PHPWeb 服務,也為Final Cut Pro 和Motion 寫過外掛程式。他以能夠把藝術和代碼結合到一起為樂。
Frankie Bagnardi 是一位高級前端工程師,為多種不同的客戶端創造用戶體驗。在業餘時間裡,他會回答問題,或者開發一些小項目。你可以聯繫他。
內容提要
2014 年橫空出世的由Facebook 推出的開源框架React.js,基於Virtual DOM 重新定義了用戶界面的開發方式,徹底革新了大家對前端框架的認識,將PHP 風格的開發方式遷移到客戶端套用開發。其優勢在於可以與各種類庫、框架搭配使用。《React:引領未來的用戶界面開發框架》是這一領域的首作,由多位一線專家精心撰寫,採用一個全程實例全面介紹和剖析了ReactReact.js 的方方面面,適合廣大前端開發者、設計人員,及所有對未來技術趨勢感興趣者閱讀。
目錄
推薦序1 . . . . . . . iii
推薦序2 . . . . . . . v
推薦序3 . . . . . . . vii
前言. . . . . . . . . . . ix
第1 章React 簡介1
背景介紹1
本書概覽3
Component 的創建和複合3
進階4
React 工具5
React 實踐5
第2 章JSX . . . . 6
什麼是JSX 7
使用JSX 的好處7
更加熟悉7
更加語義化8
更加直觀8
抽象化9
關注點分離9
複合組件10
定義一個自定義組件10
使用動態值11
子節點12
JSX 與HTML 有何不同13
屬性13
條件判斷14
非DOM 屬性15
事件17
注釋18
特殊屬性19
樣式19
沒有JSX 的React 19
創建React 元素20
簡寫21
延伸閱讀及參考引用21
JSX 官方規範22
第3 章組件的生命周期23
生命周期方法23
實例化23
存在期24
銷毀& 清理期24
實例化24
getDefaultProps 24
getInitialState 25
componentWillMount 25
render 25
componentDidMount 25
存在期26
componentWillReceiveProps 26
shouldComponentUpdate 27
componentWillUpdate 28
componentDidUpdate 28
銷毀& 清理期28
componentWillUnmount 28
反模式:把計算後的值賦給state 28
總結30
第4 章數據流. 31
Props 31
PropTypes 33
getDefaultProps 33
State 34
放在state 和props 的各是哪些部分35
總結35
第5 章事件處理36
綁定事件處理器36
事件和狀態37
根據狀態進行渲染38
更新狀態40
事件對象42
總結43
第6 章組件的複合44
擴展HTML 44
組件複合的例子45
組裝HTML 45
追蹤狀態47
整合到父組件當中48
父組件、子組件關係50
總結52
第7 章mixin 53
什麼是mixin 53
總結56
第8 章DOM 操作 57
訪問受控的DOM 節點57
整合非React 類庫59
侵入式外掛程式61
總結63
第9 章表單. . . 64
無約束的組件65
約束組件66
表單事件68
Label 68
文本框和Select 69
複選框和單選框71
表單元素的name 屬性73
多個表單元素與change 處理器75
自定義表單組件79
Focus 83
可用性83
把要求傳達清楚83
不斷地反饋84
迅速回響84
符合用戶的預期84
可訪問85
減少用戶的輸入85
總結86
第10 章動畫 87
CSS 漸變組87
給漸變class 添加樣式88
漸變生命周期89
使用漸變組的隱患89
間隔渲染89
使用requestAnimationFrame 實現間隔渲染90
使用setTimeout 實現間隔渲染91
總結92
第11 章性能最佳化93
shouldComponentUpdate 93
不可變性輔助外掛程式95
深入調查拖慢你套用的部分96
鍵(key) 97
總結98
第12 章服務端渲染 99
渲染函式100
React.renderToString 100
React.renderToStaticMarkup 100
用React.renderToString 還是用React.renderToStaticMarkup 101
服務端組件生命周期102
設計組件102
異步狀態104
同構路由106
單例、實例及上下文107
總結107
第13 章周邊類庫108
Jest 108
設定109
自動模擬依賴109
手動模擬依賴111
Immutable.js 113
Flux 114
總結115
第14 章開發工具116
構建工具116
Browserify 117
建立一個Browserify 項目117
對代碼做出修改118
Watchify 119
構建119
Webpack 119
Webpack 與React 120
調試工具122
基礎工具123
總結124
第15 章測試. . 125
上手125
測試的類型126
工具126
第一個測試用例:render 測試127
模擬組件132
函式監視138
監視函式被調用141
模擬事件146
測試中的組件查找器149
mixin 測試152
直接測試mixin 153
把mixin 包含在虛擬組件中進行測試156
共享行為的用例159
渲染到<body> 中164
服務端測試168
瀏覽器自動化測試174
啟動伺服器179
總結180
第16 章架構模式 181
路由182
Backbone.Router 182
Aviator 183
react-router 185
Om (ClojureScript) 186
Flux 187
數據流187
Flux 各個部分188
Dispatcher 188
Action 189
Store 190
控制視圖191
管理多個Store 192
更新Dispatcher 192
註冊依賴行為193
總結194
第17 章其他使用場景195
桌面套用195
遊戲197
電子郵件202
繪圖208
總結210