【发布时间】:2016-11-02 15:04:06
【问题描述】:
我正在寻找一种打开和关闭中间件的方法。我介绍了一个教程功能——我通过使用“指导”中间件检查每个操作来倾听用户对 UI 所做的事情。如果用户单击正确的位置,他将转到教程的下一步。但是,只有在教程模式打开时才需要此行为。有什么想法吗?
const store = createStore(holoApp, compose(applyMiddleware(timestamp, ReduxThunk, autosave, guidance),
window.devToolsExtension ? window.devToolsExtension() : f => f));
目前我的解决方案是在 guideState reducer 中保留“on”开关,并在中间件中对其进行脏检查:
const guidance = store => next => action => {
let result = next(action)
const state = store.getState();
const { guidanceState } = state;
const { on } = guidanceState;
if (on) {
....
但是,大约 95% 的时间教程模式会关闭,所以一直检查每个动作都感觉有点脏,嗯,脏……;)还有其他方法吗?
【问题讨论】:
标签: javascript reactjs redux middleware