redux里面,異步要用middleware來處理。這個怎么理解?比如我發(fā)一個ajax,然后在回調(diào)里面去dispatch(action),這樣不可以嗎?為什么要用到middleware?
3 回答

撒科打諢
TA貢獻(xiàn)1934條經(jīng)驗 獲得超2個贊
其實middleware本質(zhì)是對原本store中的dispatch
方法的強化。如果你需要一些額外的功能,比如打印用戶請求日志,就可以對dispatch
方法進(jìn)行強化。
redux是flux的一個實現(xiàn),也只是一個模式的實現(xiàn)。更多用戶需要的定制化的東西,就需要這個中間件的東東了。
為redux提供中間件的接口是很聰明的,這樣就會產(chǎn)生無數(shù)優(yōu)秀的中間件,也在另一方面促進(jìn)了框架的繁榮。
所以對你本身的代碼來講,這么做是可以的,但是redux的設(shè)計者顯然考慮的更多。

嚕嚕噠
TA貢獻(xiàn)1784條經(jīng)驗 獲得超7個贊
middleware 本質(zhì)是一個多層函數(shù)的柯里化,主要作用在于兩點:
可以對數(shù)據(jù)流做集中的處理,而且可以在多個 middleware 之間串聯(lián)
通過注入的 dispatch 和 getState 可以方便的訪問到當(dāng)前的狀態(tài),可以對其做額外進(jìn)行處理,也能異步的 dispatch 當(dāng)前的 action
- 3 回答
- 0 關(guān)注
- 913 瀏覽
添加回答
舉報
0/150
提交
取消