Redux动态存储热装

时间:2016-06-10 13:20:22

标签: javascript webpack redux

我的代码库中有多个(~10个)不同的独立redux组件,我通过不同的webpack入口点单独测试。它们是非常不同的组件,具有完全不同的状态等。

例如

/application1/*
/application2/*

现在,每个人都有自己的store.jsstore.prod.jsstore.dev.js代码来配置商店。

但是,所有这些代码基本相同,集中它会很好。

我可以在/shared/store/中创建一个共享存储生成函数,并拥有每个应用程序的根组件'通过他们自己的减速器,但我遇到了store.dev.js中的热负荷:

export default function configureStore(rootReducer, preloadedState) {
  const store = createStore(
    rootReducer,
    preloadedState,
    compose(
      applyMiddleware(thunk, api, createLogger()),
      DevTools.instrument()
    )
  )

  if (module.hot) {
    module.hot.accept('../reducers', () => {
      const nextRootReducer = require('../reducers').default
      store.replaceReducer(nextRootReducer)
    })
  }

  return store
}

有没有办法动态地将适当的reducer路径移交给module.hot.accept代码,还是我需要为每个拥有自己商店的组件维护一个单独的store.dev.js

如果没有,还有其他优雅的解决方案吗?

0 个答案:

没有答案