首页 > 解决方案 > 我应该将 selectedUser 添加到我的 ngrx 商店吗?(使用问题)

问题描述

我有一个关于@ngrx/store 使用的问题

我有一个看起来像这样的状态 =>

export interface MyToys{
 name: string,
 id :string,
 description,
}

export interface State extends EntityState<MyToys> {
  isLoading?: boolean;
  error?: any;
}

在应用程序中,我可以专注于一个玩具,所以选择它,以便我的所有组件与这个玩具“同步”。

我的问题是,这应该由商店处理吗?

export interface MyToys{
 name: string,
 id :string,
 description,
}

export interface State extends EntityState<MyToys> {
  selectedToy : MyToys;
  isLoading?: boolean;
  error?: any;
}

这样我就可以调度事件SELECT_TOYUNSELECT_TOY

还是应该在服务内部处理?

我没有在互联网上找到一个例子,包括他们商店内的“当前选定”值。所以我想知道是否可以。

标签: typescriptreduxngrxngrx-store

解决方案


这似乎是使用商店的完美用例。最初您将编写更多代码,但它将解决您所有的状态管理问题。没有组件的紧密耦合,更好的关注点分离和状态的不变性。

在这种情况下,您可以创建一个选择器,让您的组件在其中侦听所选玩具的变化。当一个玩具被选中或取消时,你发送一个动作,该动作将通过减速器改变商店中的状态。


推荐阅读