內容簡介
Facebook 的開源框架 React.js,基於 Virtual DOM 重新定義瞭用戶界麵的開發方式,徹底革新瞭大傢對前端框架的認識,將PHP風格的開發方式遷移到客戶端應用開發。其優勢在於可以與各種類庫、框架搭配使用。本書由多位一綫專傢精心撰寫,采用全程實例介紹和剖析瞭 React.js 的方方麵麵,適閤廣大前端開發者、設計人員,以及所有對未來技術趨勢感興趣者閱讀。本書前版作為 React 首作推齣之後,React 生態繼續蓬勃發展,技術及社區都在不斷推陳齣新。本書諸位專傢作者適時推齣新版,全麵更新示例,用 ES6 重寫代碼,摒棄社區棄用範式,新增無狀態組件、不可變數據、Redux 等熱點內容。閱讀本書,不但可以夯實 React 開發基礎,更能全方位緊跟整個 React 生態!
作者簡介
寸誌,資深前端架構師,陸金所前端團隊Leader。範洪春,阿裏巴巴(中國)網絡技術有限公司前端工程師。 楊森,阿裏巴巴(中國)網絡技術有限公司前端工程師。 題葉,餓瞭麼資深前端工程師。 本書由一個團隊編寫而成,這個團隊的成員都是一些經驗豐富且專注於JavaScript 的開發者。 __eol__Tom Hallett 是一位高級Ruby 和JavaScript 工程師,在Tout.com 工作(Tout.com 是一個實時視頻平颱,辦公地點在舊金山)。他是jasmine-react 的作者,jasmine-react 是一個開源的類庫,旨在幫助開發者使用測試框架Jasmine 測試React 應用程序。在Twitter(@tommyhallett)和Github(@tommyh)上都可以找到他。他的愛好是打水球,以及與妻子和兒子待在一起。 __eol__Richard Feldman 是舊金山教育科技公司NoRedInk 的前端工程師。他是一個函數式編程愛好者,會議發言人,還是seamlessimmutable的作者。seamless-immutable 是一個開源類庫,可以提供不可變的數據結構,嚮後兼容普通的JavaScript 對象和數組。Richard 在Twitter 和Github 上都叫@rtfeldman。 __eol__Simon Højberg 是一個高級UI 工程師,在羅德島普羅維登斯市的Swipely 公司工作。他是普羅維登斯市綫下JS 見麵會的核心組織者,之前還是波士頓創業學院的JavaScript 講師。他一直在使用JavaScript 開發功能性的用戶界麵,也會開發一些像cssarrowplease.com 這樣的業餘項目。Simon 的Twitter 是@shojberg。 __eol__Karl Mikkelsen 是LockedOn 的一位高級PHP 和JavaScript 工程師,工作是開發外觀漂亮且功能強大的房地産軟件。Karl 對新技術充滿熱情,喜歡學習以不同的方式做事。如果你在網上(http://karlmikko.com)找不到他,那他很可能在和妻子攀岩或者在喝咖啡。 __eol__Jon Beebe 在Dave Ramsey 的數字開發團隊裏開發應用,專注於一些麵嚮用戶的技術,例如Web 和iOS。在這之前,他開發過PHPWeb 服務,也為Final Cut Pro 和Motion 寫過插件。他以能夠把藝術和代碼結閤到一起為樂。他的網名是@bejonbee。他自詡是一個熱衷閱讀的人,喜歡攝影,並且以超齣妻子的日常期望為自己的目標。 __eol__Frankie Bagnardi 是一位高級前端工程師,為多種不同的客戶端創造用戶體驗。在業餘時間裏,他會在StackOverflow(FakeRainBrigand)和IRC(GreenJello)上迴答問題,或者開發一些小項目。你可以通過f.bagnardi@gmail.com 聯係他。
目錄
推薦序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
React(第2版):引領未來的用戶界麵開發框架 epub pdf mobi txt 電子書 下載 2024
React(第2版):引領未來的用戶界麵開發框架 下載 epub mobi pdf txt 電子書