Redux 異步數(shù)據(jù)流

2021-09-16 10:06 更新

異步數(shù)據(jù)流

如果不使用 middleware 的話,Redux 的 store 只支持 同步數(shù)據(jù)流。而這也是 createStore() 所默認(rèn)提供的創(chuàng)建方式。

你可以使用 applyMiddleware() 來(lái)增強(qiáng) createStore()。這不是必須的,但它可以讓你 以更簡(jiǎn)便的方式來(lái)描述異步的 action。

redux-thunkredux-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。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)