[英]redux-thunk middleware multiple => Syntex
我試圖了解咚下殼的作品,但在努力理解這個代碼引用在這里
function createThunkMiddleware(extraArgument) {
return ({ dispatch, getState }) => next => action => {
// This gets called for every action you dispatch.
// If it's a function, call it.
if (typeof action === 'function') {
return action(dispatch, getState, extraArgument);
}
// Otherwise, just continue processing this action as usual
return next(action);
};
}
const thunk = createThunkMiddleware();
thunk.withExtraArgument = createThunkMiddleware;
export default thunk;
它說這基本上是thunk的代碼。 讓我困惑的是multiple =>語法。 我知道=>是箭頭功能的一部分。 我目前的理解是createThunkMiddleware
返回一個函數,我們稱它為A,它返回另一個函數B,然后返回另一個函數C。A,B和C的簽名如下所示:
function A ({dispatch, getState}) {
return B(next)
}
function B (next) {
return C(action)
}
function C (action) {
....
}
但這對我來說沒有意義。 因為,A如何在B next
通過,這與B相同。
redux-thunk只是redux的正常中間件。 中間件系統中存在某種類型的控制流。 請看這里 ,你會知道這是怎么出來的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.