Redux-thunk 基础知识
虽然 redux 本身是完全同步的,但你可以使用 redux-thunk
等中间件来处理异步操作。
thunk
是回调的另一个名称。它是一个函数,通常作为参数传递,以便稍后调用。
要使用,请将中间件应用于 redux 商店:
import ReduxThunk from 'redux-thunk';
const store = createStore(
reducer,
applyMiddleware(ReduxThunk)
);
这允许你将 thunk 传递给 dispatch
而不是普通对象。中间件将识别 thunk 并调用它。thunk 将商店的 dispatch
方法作为参数:
// an asynchronous action - "thunk"
// This will wait 1 second, and then dispatch the 'INCREMENT' action
const delayedIncrement = dispatch => setTimeout(() => {
dispatch({
type: 'INCREMENT'
});
}, 1000);
// dispatch the thunk.
// note: no () as we're passing the function itself
store.dispatch(delayedIncrement);