Redux中间件中dispatch和next之间有什么区别?

时间:2016-03-22 16:49:41

标签: redux

Redux 中间件中dispatchnext之间的区别是什么?

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

2 个答案:

答案 0 :(得分:21)

Dispatch启动新操作,它将通过完整的中间件链。

下一步 - 将当前操作发送到链中的下一个中间件。

答案 1 :(得分:4)

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

在middlewareB中调用next(action)将导致该操作   传递给middlewareC然后是reducer。呼叫派遣(行动)   在middlewareB中将导致动作传递给middlewareA,   然后是middlewareB,然后是middlewareC,最后是reducer,   将执行返回到middlewareB。呼叫派遣()   多次是一种常见且有效的做法。 next()也可以   不止一次调用,但不建议任何动作   传递给next()将跳过当前的中间件(for   例如,可能会跳过日志记录中间件。)