我实际上是前几天在这条推文上发表的。
store.dispatch()默认情况下,该方法返回传递的操作。由于中间件管道环绕
dispatch(),因此每个中间件都可以更改在传入过程中通过管道传递的值,并更改返回的返回值。
许多中间件依赖于能够自己返回值或使用返回的返回值。例如,
redux-thunk返回从thunk函数返回的任何内容,并且通常使用它来返回thunk的promise,以便您可以进行链结
dispatch(somePromiseThunk()).then(() => {})。如果中间件调用
next(action)但实际上并未从中返回值
next(),则可能会破坏这些功能。具体行为将取决于您设置的中间件以及订购方式。
因此,“正确”的做法是, 默认情况下 , 每个Redux中间件 都应 returnnext(action)
默认使用,除非它明确想要更改返回值的行为。这样可以确保最佳的兼容性和将中间件组合在一起的能力。



