亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問在redux中的中間件thunk主要有什么作用?

請問在redux中的中間件thunk主要有什么作用?

呼喚遠方 2019-09-14 11:11:06
redux中的中間件thunk主要有什么作用
查看完整描述

4 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

thunk的意思是中間函數,在redux中,有個東西叫做action,如果配置了redux-thunk,那么在action中寫代碼的時候,就可以寫成下面這種形式:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

function saveData(data) {

    return {

        type: 'SVAE_DATA',

        date: data

    }

}

 

exports function getData(){

    return async (dispatch) => {

        const data = await get(`/api`)

        if (result) {

            await dispatch(saveData(data))

        }

    }

}

在這個例子中,saveData就是一個thunk,getData的作用是接收服務端返回的數據,然后通過thunk函數去調用對應的reducers保存到store上。dispatch就是負責調用thunk函數




查看完整回答
反對 回復 2019-09-19
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

thunk的意思是中間函數,在redux中,有個東西叫做action,如果配置了redux-thunk,那么在action中寫代碼的時候,就可以寫成下面這種形式:
function saveData(data) {
return {
type: 'SVAE_DATA',
date: data
}
}

exports function getData(){
return async (dispatch) => {
const data = await get(`/api`)
if (result) {
await dispatch(saveData(data))
}
}
}
在這個例子中,saveData就是一個thunk,getData的作用是接收服務端返回的數據,然后通過thunk函數去調用對應的reducers保存到store上。dispatch就是負責調用thunk函數


查看完整回答
反對 回復 2019-09-19
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

執行階段
dispatch(action) 等于 composedABC(action) 等于執行 function A(action) {...}
在函數 A 中執行 next(action), 此時 A 中 next 為 composedBC,那么等于執行 composedBC(action) 等于執行function B(action){...}
在函數 B 中執行 next(action), 此時 B 中 next 為 composedC,那么等于執行 composedC(action) 等于執行function C(action){...}
在函數 C 中執行 next(action), 此時 C 中 next 為 store.dispatch 即 store 原生的 dispatch, 等于執行store.dispatch(action)
store.dispatch 會執行 reducer 生成最新的 store 數據
所有的 next 執行完過后開始回溯
執行函數 C 中 next 后的代碼
執行函數 B 中 next 后的代碼
執行函數 A 中 next 后的代碼

整個執行 action 的過程為 A -> B -> C -> dispatch -> C -> B -> A


查看完整回答
反對 回復 2019-09-19
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

thunk的意思是中間函數,在redux中,有個東西叫做action,如果配置了redux-thunk,那么在action中寫代碼的時候,就可以寫成下面這種形式:
function saveData(data) {
return {
type: 'SVAE_DATA',
date: data
}
}

exports function getData(){
return async (dispatch) => {
const data = await get(`/api`)
if (result) {
await dispatch(saveData(data))
}
}
}
在這個例子中,saveData就是一個thunk,getData的作用是接收服務端返回的數據,然后通過thunk函數去調用對應的reducers保存到store上。dispatch就是負責調用thunk函數




查看完整回答
反對 回復 2019-09-19
  • 4 回答
  • 0 關注
  • 566 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號