NgRx 从 api 获取数据但不将其存储到状态

问题描述 投票:0回答:1

我在理解 ngrx 实现中的一个基本概念时遇到问题。一个例子是,我需要从 api 获取一些数据来验证组件中的一些信息,但验证完成后我可能不需要它。所以我不想将它存储在 state 中,因为它会不必要地使 state 变得沉重。在这种情况下,如果我使用effect,而不更新状态,我怎样才能得到我的组件。

这是一个很好的做法吗,在上面的场景中,我可以直接调用服务而不使用effect。或者有一些更好的实现方法,

我对此没有任何答案。我在网上没有得到任何关于这种情况的参考。

angular ngrx ngrx-store ngrx-effects
1个回答
0
投票

您可以直接在组件中使用您的服务。或者,为了保持组件的精简,您可以为验证组件中的数据时发生的任何事件创建一个操作。也许您尝试验证的数据应该处于状态。

  1. 您输入一些数据,它会存储在商店中。
  2. 您单击一个按钮,一个独特的事件会调度“特殊数据已提交”(将其命名为事件而不是命令)
  3. 然后您创建一个监听该操作 validateSpecialData$ 的效果。 (将其命名为函数)
  4. validateSpecialData$ 获取您尝试从状态验证的数据,调用您的 api 端点。如果有效,则返回操作 SpecialDataSubscribedValidatedSuccess,如果失败则返回 SpecialDataSubscribedFailure。 (查找好的动作命名)
  5. 成功后,您的减速器将切换另一个状态,表明输入的数据是否有效,您可以在您的组件或其他组件中使用它。

只是一个想法

© www.soinside.com 2019 - 2024. All rights reserved.