gpt4 book ai didi

angular - 何时在 angular2 中使用 ngrx/effect

转载 作者:太空狗 更新时间:2023-10-29 17:06:22 26 4
gpt4 key购买 nike

我有一个与 api 通信的 anuglar2 项目。最近决定整合ngrx/store来维护组件的状态,遵循dump-smart组件架构。但是在继续前进的过程中,我读到了有关可以根据 api 请求使用的 ngrx/effect。

我的问题来了,为什么我应该使用 ngrx/effect 库,而不仅仅是从我的容器组件调用我的服务中的相应函数来执行 api 请求,并在成功调度操作后将返回值保存在我的商店中.

最佳答案

如果您的案例保持这么简单,那么您就不需要 effect 了。此外,effect 本身只会调用您的服务方法。

简而言之:如果你的项目很小,没有很多功能,只会导致你写更多的代码。

如果您的项目很大,它将帮助您构建数据流和项目组件。


何时使用效果:

当您想根据另一个 Action 触发一个 Action 时(在英语口语中,您会称其为side-effect)或当您想要添加一般错误时-处理或可能是日志记录。

effect 的工作方式:effect 监听任何已定义的操作(例如 LoadDataAction),然后进行一些处理并返回任何操作,然后由商店处理并分发给 reducer 或其他一些 effect

例子:

  1. LoadDataAction 已调度
  2. 一个效果(loadData$)被触发
  3. loadData$-effect 调用数据服务
  4. 加载数据失败
  5. loadData$-effect 返回一个 LoadDataFailureAction

ngrx 处理 Action ...

  1. LoadDataFailureAction 可能会被以下人员获取:
    • 记录器效果(例如,向服务器发送消息)
    • 通过 ui-notification-effect(例如向用户显示消息)
    • 和/或通过 reducer (例如,保留错误计数或从状态中删除某些内容)

关于angular - 何时在 angular2 中使用 ngrx/effect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44113814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com