[Redux/Mobx] 在Redux中怎么发起网络请求?
生活随笔
收集整理的這篇文章主要介紹了
[Redux/Mobx] 在Redux中怎么发起网络请求?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?[Redux/Mobx] 在Redux中怎么發(fā)起網(wǎng)絡請求?
如果單純的使用Redux,因為redux的actionCreator返回一個plain object,所以不能在actionCreator中發(fā)起網(wǎng)絡請求;reducer是一個純函數(shù),不能有副作用,所以也不能有異步的操作;如果需要在Redux中發(fā)起網(wǎng)絡請求,就要借助中間件;如下:
- react-thunk: 這個中間件可以處理dispatch一個function,即可以在actionCreator中返回一個函數(shù)簽命是(dispatch, getState) => {}的函數(shù),在這個函數(shù)中可以進行異步操作,然后再異步操作后進行dispatch一個action
- react-saga: reducer、actionCreator都保持原始的模式不改變(dispatch的依然是一個plain object),網(wǎng)絡請求需要放在saga文件定義的generator函數(shù)中,使用take或takeEvery接受到view層傳來的帶有type的對象,然后執(zhí)行相應的generator函數(shù),在generator函數(shù)中的異步任務執(zhí)行完成之后,一般是通過put方法(雷同于dispatch)去更新Store中的數(shù)據(jù)
個人簡介
我是歌謠,歡迎和大家一起交流前后端知識。放棄很容易,
但堅持一定很酷。歡迎大家一起討論
主目錄
與歌謠一起通關前端面試題
總結
以上是生活随笔為你收集整理的[Redux/Mobx] 在Redux中怎么发起网络请求?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c如何返回数组给java
- 下一篇: List of USB ID's