使用redux thunk中介軟體進行非同步請求

2021-09-23 20:45:54 字數 726 閱讀 1321

1、安裝

npm install redux-thunk
2、引入,在store檔案下,index中引入

import reducer from './reducer'

import thunk from 'redux-thunk';

const store = createstore(

reducer,

);//建立公共倉庫

export default store;

3、在actioncreators.js

export const gettodolist = () => )

.catch(() => {})

}}

4、在元件中的componentdidmount中

const action=gettodolist()//因為用了redux-thunk中介軟體,所以這裡返回的是乙個函式

store.dispatch(action)//當執行這個方法的時候,返回的這個函式會自動執行,也就是去請求資料了,

實質上是對dispatch方法的乙個封裝。之前action是乙個物件,現在action可以是乙個函式,

如果傳遞過來的是乙個物件,dispatch會將這個物件直接傳給store。但是如果傳過來乙個函式,它會讓函式先執行,執行完,需要呼叫store才會去呼叫。dispatch會根據不同的引數執行不行的事情

redux 中介軟體 redux thunk

什麼是中介軟體?中介軟體指的是redux的,不是react的。中間指的是action跟store之間,也就是對dispacth方的封裝,最原始的是直接將接受過來的物件直接傳遞給store,但是如果傳遞的是乙個函式的話,就不會將這直接傳遞給store,而是先執行這個函式。常見的中間有 redux de...

redux中介軟體 redux thunk

redux中介軟體 redux thunk 通常情況下,action只是乙個物件,不能包含非同步操作,這導致了很多建立action的邏輯只能寫在元件中,量較多也不便於復用,同時對該部分 測試的時候也比較困難,元件的業務邏輯也不清晰,使用中介軟體了之後,可以通過actioncreator非同步編寫ac...

redux中介軟體之redux thunk

redux的核心概念其實很簡單 將需要修改的state都存入到store裡,發起乙個action用來描述發生了什麼,用reducers描述action如何改變state tree 建立store的時候需要傳入reducer,真正能改變store中資料的是store.dispatch api。disp...