typescript - 我应该将 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_TOY
或UNSELECT_TOY
?
还是应该在服务内部处理?
我没有在互联网上找到一个例子,包括他们商店内的“当前选定”值。所以我想知道是否可以。
解决方案
这似乎是使用商店的完美用例。最初您将编写更多代码,但它将解决您所有的状态管理问题。没有组件的紧密耦合,更好的关注点分离和状态的不变性。
在这种情况下,您可以创建一个选择器,让您的组件在其中侦听所选玩具的变化。当一个玩具被选中或取消时,你发送一个动作,该动作将通过减速器改变商店中的状态。
推荐阅读
- java - 如何使用序列化从 txt.datei 加载多个对象实例
- java - 我希望我的 Eclipse Java 套接字客户端接收可变数量或数据包
- python - 没有opencv的Python Camshift算法
- javascript - addTableRow 在模板中带有一个键和一个主题
- python - 在 Python 中绘制椭球体
- javascript - 错误类型错误:无法读取未定义的属性“pageIndex”
- javascript - JavaScript 调用堆栈中的变量如何在函数返回后仍可访问
- python - 如果我将对象的名称作为字符串并且在 python 中具有属性,如何访问对象的属性?
- pandas - 使用 pd.Series.str.contains 查找列中是否存在字符串
- date - 从纪元时间转换为 (dd/mm/yyyy) 日期格式