我有一张表格,在提交时我发出一个由效果捕获的动作。然后效果进行http调用。我想知道如果完成/失败这个动作的后面我会做以下事情:
我知道我可以重新调度一个动作,用几个标志success
,error
等填充商店。但是,重置表单可能是通过调用一个函数来完成的。订阅商店并在孩子中调用相关的reset
功能是否可以接受?这几乎就像我希望组件能够像效果一样听取动作。
答案 0 :(得分:2)
如果您的效果休息不影响商店,但只应显示通知 - 那么我会说两种方式:
1)按照自己的建议在组件中注入Actions
:
class SomeComponent {
constructor(actions: Actions) {
actions.ofType(SOME_EVENT)
.do(myThing)
.takeUntil(componentIsDestroyed)
.subscribe();
}
}
2)或者根本不采用效果和行动的方式,只需调用简单的服务方法:
class SomeComponent {
constructor(myService: CoolService) {
}
onClick(): void {
mySevice.makeRequest()
.do(myThing)
.subscribe();
}
}