промежуточное программное обеспечение redux-thunk множественное => Syntex - PullRequest
0 голосов
/ 15 марта 2019

Я пытался понять, как работает thunk под оболочкой, но изо всех сил пытался понять этот код, на который ссылается здесь

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.Меня смущает синтаксис множественного числа =>.Я знаю => является частью функции стрелки.Насколько я понимаю, createThunkMiddleware возвращает функцию, давайте назовем ее A, которая возвращает другую функцию B, которая возвращает другую функцию C. И подписи A, B и C, как показано ниже:

function A ({dispatch, getState}) {
  return B(next)
}
function B (next) {
  return C(action)
}
function C (action) {
  ....
}

Но это не имеет смысла для меня.Потому что, как A передает next в B, то же самое для B.

1 Ответ

0 голосов
/ 15 марта 2019

redux-thunk - это просто обычное промежуточное программное обеспечение Redux. Существует некоторый тип потока управления в системе промежуточного программного обеспечения. пожалуйста, отметьте здесь , и вы узнаете, как это получилось.

...