基本介紹
- 書名:快速上手React編程
- 作者:[美] Azat Mardan
- 譯者:郭美青、郭松、唐金州
- ISBN:9787302502470
- 定價:88.00
- 出版時間:2018.06.01
圖書信息,內容簡介,圖書目錄,
圖書信息
快速上手React編程
作者:[美] Azat Mardan 著 郭美青、郭松、唐金州 譯
定價:88元
印次:1-1
ISBN:9787302502470
出版日期:2018.06.01
印刷日期:2018.05.31
定價:88元
印次:1-1
ISBN:9787302502470
出版日期:2018.06.01
印刷日期:2018.05.31
內容簡介
《快速上手React編程》面向希望快速上手React.js進行Web開發的讀者,藉助精心挑選和詳細解釋的實例,幫助讀者使用現有的JavaScript和Web開發技能學習React開發。在學習Web組件、表單和數據的過程中,還將探索許多不同的項目。主要特點:掌握React基礎使用數據和路由構建完整的Web套用測試組件最佳化React套用
圖書目錄
第Ⅰ部分 React基礎
第1章初積React3
1.1什麼是React4
1.2React解決的問題5
1.3使用React的好處6
1.3.1簡單性6
1.3.2速度和可測試性11
1.3.3生態和社區12
1.4React的缺點13
1.5React如何與Web套用集成13
1.5.1React類庫和渲染目標14
1.5.2單頁面套用和React15
1.5.3React技術棧17
1.6第一個React項目:HelloWorld18
1.7測驗21
1.8小結21
1.9測驗答案22
第2章 React起步23
2.1內嵌元素23
2.2創建組件類26
2.3屬性29
2.4測驗34
2.5小結34
2.6測驗答案34
第3章 JSX35
3.1JSX是什麼?它有什麼優點36
3.2理解JSX38
3.2.1使用JSX創建元素39
3.2.2在組件中使用JSX40
3.2.3在JSX中輸出變數41
3.2.4在JSX中使用屬性42
3.2.5創建React組件的方法46
3.2.6JSX中的if/else47
3.2.7JSX中的注釋51
3.3使用Babel設定JSX轉譯器51
3.4React和JSX陷阱55
3.4.1特殊字元56
3.4.2data-屬性56
3.4.3style屬性57
3.4.4class和for58
3.4.5布爾類型的屬性值58
3.5測驗59
3.6小結59
3.7測驗答案59
第4章 與狀態互動61
4.1什麼是React組件的狀態62
4.2使用狀態63
4.2.1訪問狀態63
4.2.2設定初始狀態65
4.2.3更新狀態67
4.3狀態和屬性70
4.4無狀態組件71
4.5有狀態組件和無狀態組件73
4.6測驗77
4.7小結77
4.8測驗答案78
第5章 React組件生命周期79
5.1React組件生命周期事件的全景視圖80
5.2事件的分類80
5.3實現生命周期事件82
5.4執行所有事件84
5.5掛載事件86
5.5.1componentWillMount()87
5.5.2componentDidMount()87
5.6更新事件90
5.6.1componentWillReceiveProps(newProps)90
5.6.2shouldComponentUpdate()91
5.6.3componentWillUpdate()91
5.6.4componentDidUpdate()92
5.7卸載事件92
5.8一個簡單示例92
5.9測驗95
5.10小結95
5.11測驗答案96
第6章 React事件處理97
6.1在React中處理DOM事件97
6.1.1捕獲和冒泡階段100
6.1.2React事件的內幕102
6.1.3使用ReactSyntheticEvent事件對象105
6.1.4使用事件和狀態108
6.1.5傳遞事件處理程式和屬性109
6.1.6組件通信112
6.2回響React不支持的DOM事件113
6.3React和其他庫的集成:jQueryUI事件116
6.3.1集成按鈕116
6.3.2集成標籤118
6.4測驗119
6.5小結119
6.6測驗答案120
第7章 在React中使用表單121
7.1在React中使用表單的最佳實踐121
7.1.1在React中定義表單及回響事件123
7.1.2定義表單元素125
7.1.3捕獲表單變更130
7.1.4賬戶欄位示例132
7.2使用表單的其他方式134
7.2.1可捕獲變更的非受控元素135
7.2.2不捕獲變更的非受控元素136
7.2.3使用引用獲取值137
7.2.4默認值139
7.3測驗140
7.4小結141
7.5測驗答案141
第8章 擴展React組件143
8.1組件中的默認屬性144
8.2React屬性類型和驗證145
8.3渲染子組件152
8.4創建React高階組件以實現代碼復用154
8.4.1使用displayName:用以區分父組件與子組件156
8.4.2使用擴展運算符:傳遞所有屬性157
8.4.3使用高階組件158
8.5最佳實踐:展示組件與容器組件160
8.6測驗161
8.7小結161
8.8測驗答案162
第9章 項目:選單組件163
9.1項目結構和腳手架164
9.2 不使用JSX構建選單165
9.2.1Menu組件165
9.2.2Link組件168
9.2.3運行選單組件170
9.3在JSX中構建選單171
9.3.1重構Menu組件172
9.3.2重構Link組件174
9.3.3運行JSX項目175
9.4測驗175
9.5小結176
第10章 項目:Tooltip組件177
10.1項目結構和腳手架178
10.2Tooltip組件179
10.2.1toggle()函式180
10.2.2render()函式181
10.3運行Tooltip組件183
10.4測驗184
10.5小結184
第11章 項目:Timer組件185
11.1項目結構和腳手架186
11.2套用架構187
11.3TimerWrapper組件189
11.4Timer組件193
11.5Button組件194
11.6運行Timer組件196
11.7測驗196
11.8小結197
第Ⅱ部分 React架構
第12章 Webpack構建工具201
12.1Webpack的作用201
12.2添加Webpack到項目中203
12.2.1安裝Webpack及其依賴204
12.2.2配置Webpack205
12.3模組化代碼207
12.4運行Webpack並測試構建208
12.5熱模組替換210
12.5.1配置HMR211
12.5.2熱模組替換實踐214
12.6測驗216
12.7小結216
12.8測驗答案216
第13章 React路由217
13.1從零開始實現路由218
13.1.1建立項目219
13.1.2在app.jsx中創建路由映射220
13.1.3在router.jsx中創建Router組件221
13.2ReactRouter222
13.2.1ReactRouter的JSX樣式225
13.2.2哈希記錄227
13.2.3瀏覽器記錄227
13.2.4使用Webpack安裝ReactRouter開發環境228
13.2.5創建布局組件230
13.3ReactRouter特性233
13.3.1使用withRouter高階組件訪問路由器234
13.3.2以編程方式導航235
13.3.3URL參數和其他路由數據235
13.3.4在ReactRouter中傳遞屬性236
13.4使用Backbone路由237
13.5測驗240
13.6小結241
13.7測驗答案241
第14章 使用Redux處理數據243
14.1React支持單向數據流244
14.2了解Flux數據體系結構246
14.3使用Redux數據類庫247
14.3.1用Redux創建依照Netflix的套用249
14.3.2依賴和配置250
14.3.3啟用Redux253
14.3.4路由253
14.3.5合併reducer254
14.3.6電影的reducer255
14.3.7操作258
14.3.8操作創建器259
14.3.9將組件連線到數據存儲260
14.3.10分發操作262
14.3.11將操作創建器傳遞到組件屬性中263
14.3.12運行Netflix的克隆版267
14.3.13Redux總結268
14.4測驗268
14.5小結269
14.6測驗答案269
第15章 使用GraphQL處理數據271
15.1GraphQL272
15.2給Netflix克隆版套用添加伺服器273
15.2.1在伺服器端安裝GraphQL275
15.2.2數據結構278
15.2.3GraphQL模式279
15.2.4查詢API並將回響保存到數據存儲281
15.2.5顯示電影列表285
15.2.6GraphQL總結287
15.3測驗287
15.4小結288
15.5測驗答案288
第16章 使用Jest進行單元測試289
16.1測試的類型290
16.2為什麼使用Jest(對比Mocha)290
16.3使用Jest進行單元測試291
16.3.1在Jest中編寫單元測試293
16.3.2Jest斷言294
16.4使用Jest和TestUtils進行ReactUI測試296
16.4.1使用TestUtils查找元素298
16.4.2UI測試密碼部件299
16.4.3淺渲染303
16.5TestUtils總結305
16.6測驗305
16.7小結305
16.8測驗答案306
第17章 在Node中使用React和同構JavaScript307
17.1為什麼在伺服器端使用React?
什麼是同構JavaScript?308
17.1.1正確的頁面索引308
17.1.2更快的載入速度、更好的性能309
17.1.3更好的代碼可維護性310
17.1.4在React和Node中使用同構JavaScript310
17.2在Node上使用React312
17.3React和Express:在伺服器端渲染組件314
17.3.1在伺服器端渲染簡單的文本315
17.3.2渲染HTML頁面316
17.4使用Express和React的同構JavaScript322
17.4.1項目目錄結構和配置324
17.4.2啟動伺服器325
17.4.3使用Handlebars的伺服器端布局模板329
17.4.4在伺服器上編寫React組件332
17.4.5客戶端React代碼333
17.4.6配置Webpack334
17.4.7運行套用336
17.5測驗340
17.6小結340
17.7測驗答案340
第18章 使用ReactRouter創建一個網上書店341
18.1項目結構和Webpack配置343
18.2HTML主頁346
18.3創建組件347
18.3.1主檔案:app.jsx347
18.3.2Cart組件353
18.3.3Checkout組件355
18.3.4Modal組件356
18.3.5Product組件357
18.4啟動項目359
18.5測驗359
18.6小結359
第19章 使用Jest測試密碼361
19.1項目結構和Webpack配置362
19.2HTML主頁365
19.3實現強密碼模組366
19.3.1測試366
19.3.2代碼367
19.4實現Password組件369
19.4.1測試369
19.4.2代碼370
19.5實踐375
19.6測驗376
19.7小結377
第20章 使用Jest、Express和MongoDB實現自動完成379
20.1項目結構和Webpack配置381
20.2實現Web伺服器385
20.2.1定義RESTfulAPI386
20.2.2在伺服器端渲染React387
20.3添加瀏覽器腳本387
20.4創建伺服器端模板388
20.5實現Autocomplete組件389
20.5.1Autocomplete組件的測試389
20.5.2Autocomplete組件的代碼390
20.6整合393
20.7測驗395
20.8小結396
附錄A 安裝本書相關套用397
附錄B React速查表405
附錄C Express速查表413
附錄D MongoDB和Mongoose
速查表419
附錄E ES6簡介423