真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

React總結(jié)篇之九_(tái)擴(kuò)展Redux

  • 中間件
  • Store Enhancer

一、中間件
中間件的特點(diǎn)是:

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)無極免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

  • 中間件是獨(dú)立的函數(shù)
  • 中間件可以組合使用
  • 中間件有一個(gè)統(tǒng)計(jì)的接口
  1. 中間件接口
    在Redux框架中,中間件處理的是action對象,而派發(fā)action對象的就是Store上的dispatch函數(shù),action對象在進(jìn)入reducer之前,會(huì)經(jīng)歷中間件的管道。在這個(gè)中間件管道中,每個(gè)中間件都會(huì)接收到action對象,在處理完畢之后,就會(huì)把a(bǔ)ction對象交給下一個(gè)中間件來處理,只有所有的中間件都處理完action對象之后,才輪到reducer來處理action對象,但是如果某個(gè)中間件覺得沒有必要繼續(xù)處理這個(gè)action對象了,就不會(huì)把a(bǔ)ction對象交給下一個(gè)中間件,對這個(gè)action對象的處理就此為止,也就輪不到reducer上場了。
    以action為參數(shù)的函數(shù)對傳入的action對象進(jìn)行處理,因?yàn)镴avaScript支持閉包,在這個(gè)函數(shù)里可以訪問上面兩層函數(shù)的參數(shù),所以可以根據(jù)需要做很多事情,包括以下功能:

    • 調(diào)用dispatch派發(fā)出一個(gè)新的action對象;
    • 調(diào)用getState獲得當(dāng)前Redux Store上的狀態(tài);
    • 調(diào)用next告訴Redux當(dāng)前中間件工作完畢,讓Redux調(diào)用下一個(gè)中間件;
    • 訪問action對象action上的所有數(shù)據(jù);
      具有上面這些功能,一個(gè)中間件足夠獲取Store上的所有信息,也具有足夠能力控制數(shù)據(jù)的流轉(zhuǎn)。
  2. 使用中間件
    使用中間件有兩種方法,兩種方法都離不開Redux提供的applyMiddleware函數(shù)。
    (1)用Redux提供的applyMiddleware來包裝createStore產(chǎn)生一個(gè)新的創(chuàng)建Store的函數(shù),以使用redux-chunk中間件為例,代碼如下:
    React總結(jié)篇之九_(tái)擴(kuò)展Redux
    (2)把a(bǔ)pplyMiddleware的結(jié)果當(dāng)做Store Enhancer,和其他Enhancer混合之后作為createStore參數(shù)傳入。以同時(shí)使用redux-thunk和Redux Devtools增強(qiáng)器為例,代碼如下:
    React總結(jié)篇之九_(tái)擴(kuò)展Redux

  3. Promise中間件
    實(shí)現(xiàn)異步action對象還有一個(gè)方法是利用promise,promise更加適用于輸入輸出操作,而且fetch函數(shù)返回的結(jié)果就是一個(gè)promise對象。對比redux-chunk和promise可以發(fā)現(xiàn),如果應(yīng)用redux-chunk,實(shí)際發(fā)起異步操作的語句是在中間件中調(diào)用的,而如果應(yīng)用promise中間件,異步操作是在中間件之外引發(fā)的,因?yàn)橹挥挟惒讲僮靼l(fā)生了才會(huì)有promise對象,而promise中間件只是處理這個(gè)對象而已。

  4. 中間件開發(fā)原則
    開發(fā)一個(gè)redux中間件,首先明確中間件的目的,因?yàn)橹虚g件可以組合使用,所以不要讓一個(gè)中間件的內(nèi)容太過臃腫,盡量讓一個(gè)中間件只完成一個(gè)功能,通過中間件的組合來完成豐富的功能。

二、Store Enhancer
中間件可以用來增強(qiáng)Redux store的dispatch方法,但也僅限于dispatch方法,也就是從dispatch函數(shù)調(diào)用到action對象被reducer處理的這個(gè)過程中的操作,如果想要對redux store進(jìn)行更深層次的增強(qiáng)定制,就需要使用Store Enhancer。

  1. 增強(qiáng)器的接口
  2. 增強(qiáng)實(shí)例reset

網(wǎng)頁標(biāo)題:React總結(jié)篇之九_(tái)擴(kuò)展Redux
標(biāo)題鏈接:http://weahome.cn/article/jppehg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部