W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
如果不使用 middleware 的話,Redux 的 store 只支持 同步數(shù)據(jù)流。而這也是 createStore()
所默認(rèn)提供的創(chuàng)建方式。
你可以使用 applyMiddleware()
來(lái)增強(qiáng) createStore()
。這不是必須的,但它可以讓你 以更簡(jiǎn)便的方式來(lái)描述異步的 action。
像 redux-thunk 或 redux-promise 這樣支持異步的 middleware 都包裝了 store 的 dispatch()
方法,以此來(lái)讓你 dispatch 一些除了 action 以外的其他內(nèi)容,例如:函數(shù)或者 Promise。你所使用的任何 middleware 都可以以自己的方式解釋你 dispatch 的任何內(nèi)容,并繼續(xù)傳遞 actions 給下一個(gè) middleware。比如,一個(gè) Promise middleware 能夠 Promise,然后針對(duì)每個(gè) Promise 異步地 dispatch 一對(duì) begin/end actions。
當(dāng) middleware 鏈中的最后一個(gè) middleware dispatch action 時(shí),這個(gè) action 必須是一個(gè)普通對(duì)象。這是 同步式的 Redux 數(shù)據(jù)流 開(kāi)始的地方(譯注:這里應(yīng)該是指,你可以使用任意多異步的 middleware 去做你想做的事情,但是需要使用普通對(duì)象作為最后一個(gè)被 dispatch 的 action ,來(lái)將處理流程帶回同步方式)。
現(xiàn)在你已經(jīng)學(xué)完 Redux 數(shù)據(jù)流的全部?jī)?nèi)容!可以查看 異步示例源碼,或者繼續(xù)閱讀 集成 React Router。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: