首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >redux-脱机在执行提交或回滚操作时忽略中间件

redux-脱机在执行提交或回滚操作时忽略中间件
EN

Stack Overflow用户
提问于 2018-07-30 09:16:36
回答 1查看 838关注 0票数 1

https://github.com/redux-offline/redux-offline/pull/178#issuecomment-408795302所示,我们试图在redux-脱机中使用一个中间件,它可以在执行计数器commitrollback之后分派新的操作。要点是,这些操作没有被分派,在调试之后,我们发现在分派初始操作时,中间件被用作dispatch()函数(可能是因为redux composeEnhancers()applyMiddleware()函数是如何工作的,因为它们是链接函数的),但是当commit操作被分派时,它是直接使用存储dispatch()方法完成的,因此根本不执行中间件。

我们不能完全确定是redux-offline配置方面的错误还是redux-offline本身的错误.我们的商店配置如下:

代码语言:javascript
复制
import { applyMiddleware, compose, createStore } from 'redux'

import reduxOfflineThunkMiddleware from './thunk-middleware'
import rootReducer from '../../reducers'

import { createUser } from '../../actions/user'

const initialState = {}

const windowCompose = (typeof window !== 'undefined') && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
const composeEnhancers = windowCompose || compose

const store = createStore(
  rootReducer,
  initialState,
  composeEnhancers(
    applyMiddleware(reduxOfflineThunkMiddleware({ createUser })),
    offline()
  )
)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-30 15:11:34

是的,offlineapplyMiddleware都是“商店增强剂”。当您调用store.dispatch时,操作序列为:

  • 由中间件管道中的所有中间件处理
  • offline处理
  • 由商店本身处理

因为offline增强器是在applyMiddleware增强器之后,所以它内部分配的任何操作都不会通过中间件管道。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51590638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档