我的代码库中有多个(~10个)不同的独立redux组件,我通过不同的webpack入口点单独测试。它们是非常不同的组件,具有完全不同的状态等。
例如
/application1/*
/application2/*
现在,每个人都有自己的store.js
,store.prod.js
,store.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
?
如果没有,还有其他优雅的解决方案吗?