首页 > 解决方案 > Ngrx 操作:每个操作对应的错误操作?

问题描述

使用 Ngrx 实现动作时,是否为每种动作类型设置相应的错误动作有意义?

例如:

选项 A:Load_Object_Type_X、Load_Object_Type_B、Load_Object_Error

选项 B:Load_Object_Type_X、Load_Object_Type_B、Load_Object_Type_A_Error、Load_Object_Type_B_Error

选项 A 和 B 可以使用 reducer 以完全相同的方式处理错误(action reducer 可以处理选项 B 中的两种错误类型),但我觉得选项 B 可能会引入数量不详的操作,同时存在足够的操作。选项 A 表示发生了“一些错误”并且可以包含堆栈跟踪,但错误操作本身并没有明确说明当错误出现时正在处理的操作。

我已经阅读了一些背景资料,但还没有找到任何关于最佳实践的明确信息——想知道是否有任何相关资源。谢谢!

标签: design-patternsngrx

解决方案


来自ngrx.io

Actions 是 NgRx 的主要构建块之一。动作表示在整个应用程序中发生的独特事件。从用户与页面的交互,到通过网络请求的外部交互,以及与设备 API 的直接交互,这些以及更多的事件都用动作来描述。

这意味着您将为每个操作创建一个单独的操作,通常的做法是为一个 fetch 设置 3 个操作,[Product Page] Load Product, [Product API] Load Product Success, [Product API] Load Product Fail


推荐阅读