注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)快速上手React編程

快速上手React編程

快速上手React編程

定 價(jià):¥88.00

作 者: (美)Azat Mardan 著
出版社: 清華大學(xué)出版社
叢編項(xiàng): Web開發(fā)經(jīng)典叢書
標(biāo) 簽: 暫缺

ISBN: 9787302502470 出版時(shí)間: 2018-06-01 包裝:
開本: 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《快速上手React編程》面向希望快速上手React.js進(jìn)行Web開發(fā)的讀者,借助精心挑選和詳細(xì)解釋的實(shí)例,幫助讀者使用現(xiàn)有的JavaScript和Web開發(fā)技能學(xué)習(xí)React開發(fā)。在學(xué)習(xí)Web組件、表單和數(shù)據(jù)的過程中,還將探索許多不同的項(xiàng)目。 主要特點(diǎn): 掌握React基礎(chǔ) 使用數(shù)據(jù)和路由構(gòu)建完整的Web應(yīng)用 測(cè)試組件 優(yōu)化React應(yīng)用。

作者簡(jiǎn)介

  我已經(jīng)出版了超過14本書和17門在線課程(https://node.university),它們中的大多數(shù)存儲(chǔ)在云端,涉及React、JavaScript和Node.js。在關(guān)注Node之前,我也使用過其他語言編程(Java、C、Perl、PHP、Ruby),幾乎從高中開始編程(十多年前),并且絕對(duì)超過了規(guī)定的一萬小時(shí)?,F(xiàn)在,我是美國(guó)十大銀行之一的技術(shù)研究員,它也是一家財(cái)富500強(qiáng)公司:Capital One Financial Corporation,位于美麗的舊金山。在那之前,我曾為小型初創(chuàng)公司、大型企業(yè),甚至美國(guó)聯(lián)邦政府工作過,編寫桌面、Web和移動(dòng)應(yīng)用,從事教學(xué)、開發(fā)協(xié)調(diào)和項(xiàng)目管理。我不想占用你太多的時(shí)間介紹自己,你可以在我的博客(http://webapplog.com/about)和社交媒體(www.linkedin.com/in/azatm)上了解我的更多信息。相反,我想把關(guān)于這本書的經(jīng)歷寫下來。2011年,我搬到了陽光明媚的加州,開始通過企業(yè)加速器創(chuàng)業(yè)(如果你對(duì)此好奇,它就是500家初創(chuàng)公司),開始使用現(xiàn)代的JavaScript。我學(xué)會(huì)了使用Backbone為公司創(chuàng)建一些應(yīng)用,并對(duì)此印象深刻。該框架極大地改進(jìn)了我前幾年構(gòu)建的單頁面應(yīng)用的代碼組織。它有路由和模型。這很棒!我在DocuSign(去Google搜索一下e-signatures,它的市場(chǎng)占有率達(dá)到70%)擔(dān)任軟件工程團(tuán)隊(duì)領(lǐng)導(dǎo)時(shí),又有機(jī)會(huì)看到了Backbone和同構(gòu)JavaScript的驚人能力。我們重構(gòu)了一個(gè)有7年歷史的ASP.NET Web應(yīng)用,每一個(gè)小版本的發(fā)布都需要四周的時(shí)間,而使用時(shí)髦的Backbone-Node-CoffeeScript-Express應(yīng)用不僅具有非常好的用戶體驗(yàn),而且發(fā)布版本只需要一到兩周的時(shí)間。設(shè)計(jì)團(tuán)隊(duì)在可用性方面做得很好。毋庸置疑,有大量具有不同程度交互的UI視圖。最終的應(yīng)用是同構(gòu)的,甚至在此之前還不存在該術(shù)語。我們使用服務(wù)器上的Backbone模型從API獲取數(shù)據(jù)并將其緩存。我們?cè)跒g覽器和服務(wù)器上使用相同的Jade模板。這是一個(gè)有趣的項(xiàng)目,它讓我更加相信使用一種語言橫跨整個(gè)技術(shù)棧的力量。精通C#和前端JavaScript(大部分是jQuery)的老款應(yīng)用開發(fā)者,如果花點(diǎn)時(shí)間突擊一下(一個(gè)發(fā)布周期,通常是一到兩周),就會(huì)愛上結(jié)構(gòu)清晰的CoffeeScript、Backbone的組織結(jié)構(gòu)以及Node的速度(開發(fā)和運(yùn)行速度)。我在Web開發(fā)領(lǐng)域十幾年的經(jīng)驗(yàn)向我揭示了好的、壞的以及丑陋的(大部分是丑陋的)前端開發(fā)。然而柳暗花明,因?yàn)樽詮那袚Q到React,我就越來越喜歡它了。

圖書目錄

第Ⅰ部分 React基礎(chǔ)

第1章  初積React  3

1.1  什么是React  4

1.2 React解決的問題  5

1.3  使用React的好處  6

1.3.1  簡(jiǎn)單性  6

1.3.2  速度和可測(cè)試性  11

1.3.3  生態(tài)和社區(qū)  12

1.4 React的缺點(diǎn)  13

1.5 React如何與Web應(yīng)用集成  13

1.5.1  React類庫和渲染目標(biāo)  14

1.5.2  單頁面應(yīng)用和React  15

1.5.3  React技術(shù)棧  17

1.6  第一個(gè)React項(xiàng)目:

Hello World  18

1.7  測(cè)驗(yàn)  21

1.8  小結(jié)  21

1.9  測(cè)驗(yàn)答案  22

第2章 React起步  23

2.1  內(nèi)嵌元素  23

2.2  創(chuàng)建組件類  26

2.3  屬性  29

2.4  測(cè)驗(yàn)  34

2.5  小結(jié)  34

2.6  測(cè)驗(yàn)答案  34

第3章 JSX  35

3.1 JSX是什么?它有什么優(yōu)點(diǎn)  36

3.2  理解JSX  38

3.2.1  使用JSX創(chuàng)建元素  39

3.2.2  在組件中使用JSX  40

3.2.3  在JSX中輸出變量  41

3.2.4  在JSX中使用屬性  42

3.2.5  創(chuàng)建React組件的方法  46

3.2.6  JSX中的if/else  47

3.2.7  JSX中的注釋  51

3.3  使用Babel設(shè)置JSX轉(zhuǎn)譯器  51

3.4 React和JSX陷阱  55

3.4.1  特殊字符  56

3.4.2  data-屬性  56

3.4.3  style屬性  57

3.4.4  class和for  58

3.4.5  布爾類型的屬性值  58

3.5  測(cè)驗(yàn)  59

3.6  小結(jié)  59

3.7  測(cè)驗(yàn)答案  59

第4章 與狀態(tài)交互  61

4.1  什么是React組件的狀態(tài)  62

4.2  使用狀態(tài)  63

4.2.1  訪問狀態(tài)  63

4.2.2  設(shè)置初始狀態(tài)  65

4.2.3  更新狀態(tài)  67

4.3  狀態(tài)和屬性  70

4.4  無狀態(tài)組件  71

4.5  有狀態(tài)組件和無狀態(tài)組件  73

4.6  測(cè)驗(yàn)  77

4.7  小結(jié)  77

4.8  測(cè)驗(yàn)答案  78

第5章 React組件生命周期  79

5.1 React組件生命周期事件的

全景視圖  80

5.2  事件的分類  80

5.3  實(shí)現(xiàn)生命周期事件  82

5.4  執(zhí)行所有事件  84

5.5  掛載事件  86

5.5.1  componentWillMount( )  87

5.5.2  componentDidMount( )  87

5.6  更新事件  90

5.6.1  componentWillReceiveProps

(newProps)  90

5.6.2  shouldComponentUpdate( )  91

5.6.3  componentWillUpdate( )  91

5.6.4  componentDidUpdate()  92

5.7  卸載事件  92

5.8  一個(gè)簡(jiǎn)單示例  92

5.9  測(cè)驗(yàn)  95

5.10 小結(jié)  95

5.11 測(cè)驗(yàn)答案  96

第6章 React事件處理  97

6.1  在React中處理DOM事件  97

6.1.1  捕獲和冒泡階段  100

6.1.2  React事件的內(nèi)幕  102

6.1.3  使用ReactSyntheticEvent

事件對(duì)象  105

6.1.4  使用事件和狀態(tài)  108

6.1.5  傳遞事件處理程序和

屬性  109

6.1.6  組件通信  112

6.2  響應(yīng)React不支持的DOM

事件 113

6.3 React和其他庫的集成:

jQuery UI事件 116

6.3.1  集成按鈕  116

6.3.2  集成標(biāo)簽  118

6.4  測(cè)驗(yàn) 119

6.5  小結(jié) 119

6.6  測(cè)驗(yàn)答案 120

第7章 在React中使用表單  121

7.1  在React中使用表單的最佳

實(shí)踐 121

7.1.1  在React中定義表單及

響應(yīng)事件  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  默認(rèn)值  139

7.3  測(cè)驗(yàn) 140

7.4  小結(jié) 141

7.5  測(cè)驗(yàn)答案 141

第8章 擴(kuò)展React組件  143

8.1  組件中的默認(rèn)屬性 144

8.2  React屬性類型和驗(yàn)證  145

8.3  渲染子組件 152

8.4  創(chuàng)建React高階組件以實(shí)現(xiàn)

代碼復(fù)用 154

8.4.1  使用displayName:用以區(qū)分

父組件與子組件  156

8.4.2  使用擴(kuò)展運(yùn)算符:傳遞所有

屬性  157

8.4.3  使用高階組件  158

8.5  最佳實(shí)踐:展示組件與容器

組件 160

8.6  測(cè)驗(yàn) 161

8.7  小結(jié) 161

8.8  測(cè)驗(yàn)答案 162

第9章 項(xiàng)目:菜單組件  163

9.1  項(xiàng)目結(jié)構(gòu)和腳手架 164

9.2 不使用JSX構(gòu)建菜單 165

9.2.1  Menu組件  165

9.2.2  Link組件  168

9.2.3  運(yùn)行菜單組件  170

9.3  在JSX中構(gòu)建菜單 171

9.3.1  重構(gòu)Menu組件  172

9.3.2  重構(gòu)Link組件  174

9.3.3  運(yùn)行JSX項(xiàng)目  175

9.4  測(cè)驗(yàn) 175

9.5  小結(jié) 176

第10章 項(xiàng)目:Tooltip組件  177

10.1 項(xiàng)目結(jié)構(gòu)和腳手架  178

10.2 Tooltip組件  179

10.2.1 toggle( )函數(shù)  180

10.2.2 render( )函數(shù)  181

10.3 運(yùn)行Tooltip組件  183

10.4 測(cè)驗(yàn)  184

10.5 小結(jié)  184

第11章 項(xiàng)目:Timer組件  185

11.1 項(xiàng)目結(jié)構(gòu)和腳手架  186

11.2 應(yīng)用架構(gòu)  187

11.3 TimerWrapper組件  189

11.4 Timer組件  193

11.5 Button組件  194

11.6 運(yùn)行Timer組件  196

11.7 測(cè)驗(yàn)  196

11.8 小結(jié)  197

第Ⅱ部分 React架構(gòu)

第12章 Webpack構(gòu)建工具  201

12.1 Webpack的作用  201

12.2 添加Webpack到項(xiàng)目中  203

12.2.1 安裝Webpack及其

依賴  204

12.2.2 配置Webpack  205

12.3 模塊化代碼  207

12.4 運(yùn)行Webpack并測(cè)試構(gòu)建  208

12.5 熱模塊替換  210

12.5.1 配置HMR  211

12.5.2 熱模塊替換實(shí)踐  214

12.6 測(cè)驗(yàn)  216

12.7 小結(jié)  216

12.8 測(cè)驗(yàn)答案  216

第13章 React路由  217

13.1 從零開始實(shí)現(xiàn)路由  218

13.1.1 建立項(xiàng)目  219

13.1.2 在app.jsx中創(chuàng)建路由

映射  220

13.1.3 在router.jsx中創(chuàng)建

Router組件  221

13.2 React Router  222

13.2.1 React Router的JSX

樣式  225

13.2.2 哈希記錄  227

13.2.3 瀏覽器記錄  227

13.2.4 使用Webpack安裝

React Router開發(fā)環(huán)境  228

13.2.5 創(chuàng)建布局組件  230

13.3 React Router特性  233

13.3.1 使用withRouter高階組件

訪問路由器  234

13.3.2 以編程方式導(dǎo)航  235

13.3.3 URL參數(shù)和其他路由

數(shù)據(jù)  235

13.3.4 在React Router中傳遞

屬性  236

13.4 使用Backbone路由  237

13.5 測(cè)驗(yàn)  240

13.6  小結(jié)  241

13.7 測(cè)驗(yàn)答案  241

第14章 使用Redux處理數(shù)據(jù)  243

14.1 React支持單向數(shù)據(jù)流  244

14.2 了解Flux數(shù)據(jù)體系結(jié)構(gòu)  246

14.3 使用Redux數(shù)據(jù)類庫  247

14.3.1 用Redux創(chuàng)建依照Netflix

的應(yīng)用  249

14.3.2 依賴和配置  250

14.3.3 啟用Redux  253

14.3.4 路由  253

14.3.5 合并reducer  254

14.3.6 電影的reducer  255

14.3.7 操作  258

14.3.8 操作創(chuàng)建器  259

14.3.9 將組件連接到數(shù)據(jù)

存儲(chǔ)  260

14.3.10 分發(fā)操作  262

14.3.11 將操作創(chuàng)建器傳遞到

組件屬性中  263

14.3.12 運(yùn)行Netflix的克隆版  267

14.3.13 Redux總結(jié)  268

14.4 測(cè)驗(yàn)  268

14.5 小結(jié)  269

14.6 測(cè)驗(yàn)答案  269

第15章 使用GraphQL處理數(shù)據(jù)  271

15.1 GraphQL  272

15.2 給Netflix克隆版應(yīng)用添加

服務(wù)器  273

15.2.1 在服務(wù)器端安裝

GraphQL  275

15.2.2 數(shù)據(jù)結(jié)構(gòu)  278

15.2.3 GraphQL模式  279

15.2.4 查詢API并將響應(yīng)保存

到數(shù)據(jù)存儲(chǔ)  281

15.2.5 顯示電影列表  285

15.2.6 GraphQL總結(jié)  287

15.3 測(cè)驗(yàn)  287

15.4 小結(jié)  288

15.5 測(cè)驗(yàn)答案  288

第16章 使用Jest進(jìn)行單元測(cè)試  289

16.1 測(cè)試的類型  290

16.2 為什么使用Jest(對(duì)比

Mocha)  290

16.3 使用Jest進(jìn)行單元測(cè)試  291

16.3.1 在Jest中編寫單元

測(cè)試  293

16.3.2 Jest斷言  294

16.4 使用Jest和TestUtils進(jìn)行

React UI測(cè)試  296

16.4.1 使用TestUtils查找

元素  298

16.4.2 UI測(cè)試密碼部件  299

16.4.3 淺渲染  303

16.5 TestUtils總結(jié)  305

16.6 測(cè)驗(yàn)  305

16.7 小結(jié)  305

16.8 測(cè)驗(yàn)答案  306

第17章 在Node中使用React和

同構(gòu)JavaScript  307

17.1 為什么在服務(wù)器端使用React?

什么是同構(gòu)JavaScript? 308

17.1.1 正確的頁面索引  308

17.1.2 更快的加載速度、更好的

性能  309

17.1.3 更好的代碼可維護(hù)性  310

17.1.4 在React和Node中使用

同構(gòu)JavaScript  310

17.2 在Node上使用React  312

17.3 React和Express:在服務(wù)器端

渲染組件  314

17.3.1 在服務(wù)器端渲染簡(jiǎn)單的

文本  315

17.3.2 渲染HTML頁面  316

17.4 使用Express和React的同構(gòu)

JavaScript  322

17.4.1 項(xiàng)目目錄結(jié)構(gòu)和配置  324

17.4.2 啟動(dòng)服務(wù)器  325

17.4.3 使用Handlebars的服務(wù)器

端布局模板  329

17.4.4 在服務(wù)器上編寫React

組件  332

17.4.5 客戶端React代碼  333

17.4.6 配置Webpack  334

17.4.7 運(yùn)行應(yīng)用  336

17.5 測(cè)驗(yàn)  340

17.6 小結(jié)  340

17.7 測(cè)驗(yàn)答案  340

第18章 使用ReactRouter創(chuàng)建一個(gè)

網(wǎng)上書店  341

18.1 項(xiàng)目結(jié)構(gòu)和Webpack配置  343

18.2 HTML主頁  346

18.3 創(chuàng)建組件  347

18.3.1 主文件:app.jsx  347

18.3.2 Cart組件  353

18.3.3 Checkout組件  355

18.3.4 Modal組件  356

18.3.5 Product組件  357

18.4 啟動(dòng)項(xiàng)目  359

18.5 測(cè)驗(yàn)  359

18.6 小結(jié)  359

第19章 使用Jest測(cè)試密碼  361

19.1 項(xiàng)目結(jié)構(gòu)和Webpack配置  362

19.2 HTML主頁  365

19.3 實(shí)現(xiàn)強(qiáng)密碼模塊  366

19.3.1 測(cè)試  366

19.3.2 代碼  367

19.4 實(shí)現(xiàn)Password組件  369

19.4.1 測(cè)試  369

19.4.2 代碼  370

19.5 實(shí)踐  375

19.6 測(cè)驗(yàn)  376

19.7 小結(jié)  377

第20章 使用Jest、Express和

MongoDB實(shí)現(xiàn)自動(dòng)完成  379

20.1 項(xiàng)目結(jié)構(gòu)和Webpack配置  381

20.2 實(shí)現(xiàn)Web服務(wù)器  385

20.2.1 定義RESTful API  386

20.2.2 在服務(wù)器端渲染React  387

20.3 添加瀏覽器腳本  387

20.4 創(chuàng)建服務(wù)器端模板  388

20.5 實(shí)現(xiàn)Autocomplete組件  389

20.5.1 Autocomplete組件的

測(cè)試  389

20.5.2 Autocomplete組件的

代碼  390

20.6 整合  393

20.7 測(cè)驗(yàn)  395

20.8 小結(jié)  396

附錄A 安裝本書相關(guān)應(yīng)用  397

附錄B React速查表  405

附錄C Express速查表  413

附錄D MongoDB和Mongoose

速查表  419

附錄E ES6簡(jiǎn)介 


本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)