design-patterns - 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 表示发生了“一些错误”并且可以包含堆栈跟踪,但错误操作本身并没有明确说明当错误出现时正在处理的操作。
我已经阅读了一些背景资料,但还没有找到任何关于最佳实践的明确信息——想知道是否有任何相关资源。谢谢!
解决方案
来自ngrx.io
Actions 是 NgRx 的主要构建块之一。动作表示在整个应用程序中发生的独特事件。从用户与页面的交互,到通过网络请求的外部交互,以及与设备 API 的直接交互,这些以及更多的事件都用动作来描述。
这意味着您将为每个操作创建一个单独的操作,通常的做法是为一个 fetch 设置 3 个操作,[Product Page] Load Product
, [Product API] Load Product Success
, [Product API] Load Product Fail
。
推荐阅读
- c# - 正则表达式允许字母数字,但不仅仅是数字,最少 6 个字符,最多 100 个字符
- azure - 黑白区别 New-AzureRmPolicyDefinition 和 New-AzPolicyDefinition
- ruby-on-rails - 设计 gem NoMethodError
- python - 在没有使用 selenium webdriver python 注销的情况下,无法从一个 url 移动到另一个 url
- ruby-on-rails - 如何获得唯一性验证以通过 Rails 5
- react-router - 为什么挂载新页面组件时enter-animation不运行
- c# - 使用 IHubContext 创建类实例
- javascript - 带有 2 个查询字符串参数的 Express POST 请求
- r - Shiny Plotly R - 在图表之间切换时,保持缩放
- angular - 错误 TS2304:尝试使用角度和离子进行无限滚动时找不到名称“数据”