Redux實戰

Redux實戰

《Redux實戰》是清華大學出版社2019年出版的圖書,作者是美國作家馬克·加羅(Marc Garreau)、威爾·福羅(Will Faurot),譯者是黃金勝、王冬陽、熊建剛。

基本介紹

  • 中文名:Redux實戰
  • 作者:[美]馬克·加羅(Marc Garreau)、威爾·福羅(Will Faurot)
  • 譯者:黃金勝、王冬陽、熊建剛
  • ISBN:9787302530336
  • 定價:68元
  • 出版社清華大學出版社 
  • 出版時間:2019年7月1日
內容簡介,圖書目錄,

內容簡介

● 在現有的 React 應用程式中使用 Redux
● 使用 redux-saga 庫處理副作用
● 使用異步 action 處理 API
● React 和 Redux 應用程式的單元測試

圖書目錄

第1章 Redux介紹 1
1.1 什麼是狀態 2
1.2 什麼是Flux 3
1.2.1 action 4
1.2.2 dispatcher 4
1.2.3 store 4
1.2.4 視圖 4
1.3 什麼是Redux 4
1.3.1 React和Redux 5
1.3.2 3個原則 6
1.3.2 工作流 6
1.4 為什麼要用Redux 11
1.4.1 可預測性 11
1.4.2 開發者體驗 11
1.4.3 可測試性 11
1.4.4 學習曲線 11
1.4.5 體積 11
1.5 何時應該使用Redux 12
1.6 Redux的備選方案 12
1.6.1 Flux的一些實現 12
1.6.2 MobX 13
1.6.3 GraphQL客戶端 14
1.7 本章小結 14
第2章 第一個Redux應用程式 15
2.1 創建一個任務管理應用程式 16
2.2 使用Create React App 17
2.3 基本的React組件 19
2.4 重溫Redux架構 21
2.5 配置Redux store 22
2.5.1 整體和store API 22
2.5.2 創建Redux store 23
2.5.3 tasks reducer 24
2.5.4 默認reducer狀態 25 ...
2.6使用react-redux連線Redux與React26
2.6.1添加Provider組件26
2.6.2將數據從Redux傳遞到React組件27
2.6.3容器組件和展示型組件29
2.7派發action29
2.8action創建器33
2.8.1使用action創建器34
2.8.2action創建器和副作用35
2.9使用reducer處理action36
2.10練習38
2.11解決方案39
2.11.1狀態下拉選單39
2.11.2派發一個editaction40
2.11.3在reducer中處理action42
2.12本章小結43
第3章調試Redux應用程式45
3.1ReduxDevTools介紹46
3.2時間旅行調試47
3.3使用DevTools監視器可視化變更48
3.4實現ReduxDevTools49
3.5Webpack的作用51
3.6模組熱替換52
3.6.1熱載入組件53
3.6.2熱載入reducer54
3.6.3模組熱替換的局限性55
3.7使用ReactHotLoader維持局部組件狀態55
3.8練習55
3.9解決方案56
3.10本章小結57
第4章使用API59
4.1異步action60
4.2使用redux-thunk調用異步action62
4.2.1從伺服器獲取任務62
4.2.2API客戶端66
4.2.3視圖action和伺服器action67
4.3將任務保存到伺服器68
4.4練習70
4.5解決方案71
4.6載入狀態72
4.6.1請求生命周期73
4.6.2添加載入指示符74
4.7錯誤處理78
4.8本章小結82
第5章中間件83
5.1初窺中間件84
5.2中間件的基礎知識85
5.3日誌記錄中間件86
5.3.1創建日誌記錄中間件86
5.3.2使用applyMiddleware註冊中間件88
5.4數據分析中間件89
5.4.1meta屬性89
5.4.2添加數據分析中間件90
5.4.3中間件的使用場合93
5.4.4案例分析:如何不使用中間件93
5.5API中間件95
5.5.1理想的API96
5.5.2概述API中間件98
5.5.3發起AJAX調用100
5.5.4更新reducer101
5.5.5API中間件總結102
5.6練習102
5.7解決方案102
5.8本章小結105
第6章處理複雜的副作用107
6.1什麼是副作用108
6.2回顧thunk109
6.2.1優勢109
6.2.2不足110
6.3saga介紹110
6.3.1優勢111
6.3.2不足111
6.4生成器概述111
6.4.1生成器語法112
6.4.2疊代器113
6.4.3生成器循環113
6.4.4使用生成器的原因114
6.5實現saga115
6.5.1將saga中間件連線至store115
6.5.2根saga介紹116
6.5.3副作用118
6.5.4回響並派發action118
6.6處理長時間運行的進程121
6.6.1準備數據121
6.6.2更新用戶界面122
6.6.3派發action122
6.6.4編寫長時間運行的進程123
6.6.5處理reducer中的action124
6.6.6使用通道125
6.7練習127
6.8解決方案127
6.9其他的副作用管理策略128
6.9.1使用async/await異步函式129
6.9.2使用redux-promise處理promise129
6.9.3redux-loop129
6.9.4redux-observable130
6.10本章小結130
第7章為組件準備數據131
7.1將Redux與React組件解耦132
7.2選擇器概述134
7.3實現搜尋135
7.3.1搭建UI136
7.3.2本地狀態與Redux狀態138
7.3.3派發過濾器action139
7.3.4在reducer中處理過濾器action141
7.3.5編寫自己的第一個選擇器142
7.4reselect介紹144
7.4.1reselect和memoization144
7.4.2reselect與composition146
7.5實現reselect146
7.6練習147
7.7解決方案148
7.8本章小結150
第8章組織Reduxstore151
8.1如何在Redux中存儲數據152
8.2規範化數據介紹154
8.3使用嵌套數據實現項目155
8.3.1概述:請求與渲染項目156
8.3.2使用項目數據更新伺服器159
8.3.3添加和派發fetchProjects160
8.3.4更新reducer162
8.3.5更新mapStateToProps和選擇器164
8.3.6添加項目下拉選單165
8.3.7編輯任務169
8.3.8非必要的渲染170
8.3.9總結——嵌套數據172
8.4規範化項目和任務172
8.4.1定義模式174
8.4.2更新reducer以處理實體175
8.4.3更新選擇器177
8.4.4創建任務178
8.4.5總結——規範化數據180
8.5組織其他類型的狀態180
8.6練習180
8.7解決方案180
8.8本章小結182
第9章測試Redux應用程式183
9.1測試工具介紹184
9.1.1Jasmine提供了什麼186
9.1.2Jest提供什麼187
9.1.3Jest的替代品188
9.1.4使用Enzyme進行組件
測試188
9.2測試Redux和React的區別189
9.3測試action創建器189
9.3.1測試同步action創建器190
9.3.2測試異步action創建器191
9.4測試saga193
9.5測試中間件195
9.6測試reducer198
9.7測試選擇器200
9.8測試組件202
9.8.1測試展示型組件202
9.8.2快照測試204
9.8.3測試容器組件206
9.9練習210
9.10解決方案211
9.11本章小結213
第10章性能215
10.1性能評估工具216
10.1.1性能時間線216
10.1.2react-addons-perf217
10.1.3why-did-you-update217
10.1.4React開發者工具218
10.2React最佳化219
10.2.1shouldComponent-Update219
10.2.2PureComponent220
10.2.3分頁和其他策略220
10.3Redux最佳化221
10.3.1連線正確的組件221
10.3.2自上而下的方法222
10.3.3將其他組件連線到Redux223
10.3.4將connect添加到Header和TasksPage225
10.3.5mapStateToProps和記憶型選擇器229
10.3.6connect高級用法的經驗法則230
10.3.7批量處理action231
10.4快取233
10.5練習234
10.6解決方案236
10.7本章小結240
第11章組織Redux代碼241
11.1Rails風格模式242
11.1.1優勢243
11.1.2劣勢244
11.2域風格模式244
11.2.1優勢246
11.2.2劣勢246
11.3ducks模式246
11.3.1優勢249
11.3.2劣勢249
11.4選擇器249
11.5saga249
11.6樣式檔案250
11.7測試檔案250
11.8練習和解決方案250
11.9本章小結251
第12章React之外的Redux253
12.1移動Redux:ReactNative254
12.1.1處理副作用254
12.1.2網路連線254
12.1.3性能255
12.2桌面Redux:Electron255
12.2.1需要原生桌面應用程式的原因255
12.2.2Electron的工作方式256
12.2.3引入Redux至Electron257
12.3其他Redux綁定258
12.3.1Angular258
12.3.2Ember259
12.4沒有框架的Redux260
12.5練習和解決方案260
12.6本章小結261
附錄安裝263

相關詞條

熱門詞條

聯絡我們