Какая разница между отправкой и следующей в промежуточном программном обеспечении Redux?

Какая разница между dispatch и next в промежуточном ПО Redux?

export default function sampleMiddleware(store) {
  return next => action => {
   store.dispatch(action)
   next(action)
  }
}

Ответ 1

Отправка инициирует новое действие, и она проходит через всю цепочку посредников.

Далее - отправить текущее действие в следующее промежуточное ПО в цепочке.

Ответ 2

createStore(reducer,
 applyMiddleware(
 middlewareA,
 middlewareB,
 middlewareC
 )
);

Вызов следующего действия (действия) внутри промежуточного слоя B приведет к тому, что действие будет передается в middlewareC, а затем на редуктор. Вызов отправки (действия) в промежуточном средстве B приведет к тому, что действие будет передано в middlewareA, затем middlewareB, затем middlewareC, и, наконец, к редуктору, возвращая выполнение обратно в middlewareB. Вызов отправки() многократная практика. next() также может быть вызывается не один раз, но это не рекомендуется, поскольку любое действие, переданный next(), пропустит промежуточное ПО перед текущим (для например, потенциально пропуск промежуточного программного обеспечения для ведения журнала).