我有这种情况:
当我尝试回溯我的步骤并单击redux-devtools中的播放按钮时,我预计会发生这种情况:
实际发生的是:
我的理解是,重放功能应该完全重放事件,就像在每次操作后使用状态一样,而不会触发任何影响。
我目前使用pure redux来实现Redux。 redux-observable for effects,当然还有角度4 +。
我在组件中调度启动OnInit效果的操作。 我想我错过了一些大事,我正在做一些愚蠢的事情。
我在这里错过了什么?
以下是我创建商店的方式:
public initStore(enhancers: any[] = []) {
const rootEpic = (action$: any, store: any) => this.epics$.mergeMap(epic => epic(action$, store));
const middleware = [
createEpicMiddleware(rootEpic),
freezeMiddleware,
];
const enhancer = compose(
applyMiddleware(...middleware),
...enhancers
);
this.store = createStore<any>(this.createReducer(), enhancer);
return this.store;
}
这是AppModule ctor:
constructor(ngRedux: NgRedux<any>, reduxRouter: ReduxRouter, devTools: DevToolsExtension) {
reduxRouter.init(state => state.router);
const enhancers = devTools.isEnabled() ? [devTools.enhancer()] : [];
ngRedux.provideStore(reduxState.initStore(enhancers));
reduxState.addReducers({
settings: settingsReducer,
global: globalErrorReducer,
session: userSessionReducer,
});
reduxState.addEpics({
explicitRouterEpic,
logEpic: (actions$: any, store: any) => actions$.do(console.log).filter((x: any) => false),
});
}