3 回答

TA貢獻1842條經驗 獲得超21個贊
默認情況下,redux 中的操作必須返回一個帶有type
鍵的對象。
您的 redux 操作創建者正在返回一個函數。這是最常與redux-thunk中間件一起使用的模式。如果redux-thunk
需要,中間件允許您的操作返回一個函數,該函數接受多次調用的調度方法。
創建 redux 存儲時,您需要安裝該redux-thunk
軟件包并將其包含在中間件數組中。

TA貢獻1825條經驗 獲得超6個贊
Redux 本身就是一個非常簡單的工作流程。調度的動作必須是一個對象,通常帶有一個類型和一個有效負載。對于需要在操作的各個階段進行多次分派的異步操作,此工作流程有些痛苦。這就是Redux Thunk或Redux Sagas等其他工具的用武之地。在我看來,您正在使用 Redux Thunk 但尚未連接 Thunk 中間件。
無論您在哪里創建商店,都需要像這樣應用 redux thunk 中間件。
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers';
// Note: this API requires redux@>=3.1.0
const store = createStore(rootReducer, applyMiddleware(thunk));

TA貢獻1880條經驗 獲得超4個贊
當您在操作中有異步邏輯時,您必須將某種中間件與 redux 集成,即redux-thunk
或redux-saga
. 我更喜歡 thunk,因為它更易于使用。
添加回答
舉報