angular – 为什么必须ngrx / redux效果返回动作?是否正在使用
我正在使用带有Angular和ngrx / store和ngrx / effects的redux风格的状态管理设计.每当我不从效果中返回动作时,我都会收到错误:
Cannot read property 'type' of undefined 我研究了这个问题,发现在榆树架构中有一种称为“noop”的动作,当你不想用你的效果链接另一个动作时,你可以调用任何东西.在任何地方召唤这种noop行动对我来说都是非常重复的.我想知道这是否是一个不好的做法.有没有理由你不能产生不返回动作的效果?效果的意图总是有1个动作引发另一个动作吗?我想知道我是否误解了如何使用效果. 谢谢! 解决方法
默认情况下,ngrx / effect会调度操作.
如果你想要一个“即发即忘”的效果,你需要做的就是将{dispatch:false}添加为@Effects()装饰器的参数. 从@ngrx/effects docs:
class MyEffects { constructor(private actions$: Actions) { } @Effect({ dispatch: false }) logActions$= this.actions$ .do(action => { console.log(action); }); } 在引擎盖下,这是通过 简而言之,ngrx / effects中不需要明确的noop-action.我不会直接称之为“不良行为”来发出一个noop-action,但在使用ngrx时肯定没有必要. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |