我有一个表单,在提交时我调度了一个被效果捕获的动作。然后效果会进行 http 调用。我想知道在此操作完成/失败后我将如何执行以下操作:
- 操作完成后显示成功消息
- 在下次使用表单时重置所有字段
- 在操作失败后显示错误
我知道我可以重新调度一个动作来用几个标志等填充商店success
。error
但是,重置表单可能会通过调用一个函数来完成。订阅 store 并reset
在 child 中调用相关函数是否可以接受?就好像我希望组件能够像效果一样聆听动作。
我有一个表单,在提交时我调度了一个被效果捕获的动作。然后效果会进行 http 调用。我想知道在此操作完成/失败后我将如何执行以下操作:
我知道我可以重新调度一个动作来用几个标志等填充商店success
。error
但是,重置表单可能会通过调用一个函数来完成。订阅 store 并reset
在 child 中调用相关函数是否可以接受?就好像我希望组件能够像效果一样聆听动作。
如果您的效果休息不影响商店,而只应显示通知 - 那么我会说两种方法:
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();
}
}