我应该为单独的页面创建状态吗?
Should I create a state for a separate page?
我第一次使用 angular 和 ngxs 创建应用程序。我创建了用于共享数据的商店。但是对于一些不共享数据的页面,例如编辑一个特殊的项目,我是否应该为它创建一个特殊的商店,比如 item-edit.state.ts
?
我找了很多 ngxs 的例子,但我自己无法回答这个问题。
根据应用程序的大小,您可以拥有全局状态并为页面创建单独的选择器。例如,您可以像下面这样 item-edit.selectors.ts
:
export class ItemEditingSelectors {
// uses the global state MyState
@Selector([MyState])
static viewModel(state: MyStateModel) {
// do your selection logic here
}
}
我个人喜欢让选择器执行繁重的逻辑,将我的状态解析为 pages/components 需要的状态,这样您就可以利用它们的记忆。
这种方法的一个优点是您可以将 page/components 与状态的形状分离,从而在需要时更容易对状态进行更改,而不会对消费者产生重大影响 page/components。
我第一次使用 angular 和 ngxs 创建应用程序。我创建了用于共享数据的商店。但是对于一些不共享数据的页面,例如编辑一个特殊的项目,我是否应该为它创建一个特殊的商店,比如 item-edit.state.ts
?
我找了很多 ngxs 的例子,但我自己无法回答这个问题。
根据应用程序的大小,您可以拥有全局状态并为页面创建单独的选择器。例如,您可以像下面这样 item-edit.selectors.ts
:
export class ItemEditingSelectors {
// uses the global state MyState
@Selector([MyState])
static viewModel(state: MyStateModel) {
// do your selection logic here
}
}
我个人喜欢让选择器执行繁重的逻辑,将我的状态解析为 pages/components 需要的状态,这样您就可以利用它们的记忆。
这种方法的一个优点是您可以将 page/components 与状态的形状分离,从而在需要时更容易对状态进行更改,而不会对消费者产生重大影响 page/components。