gpt4 book ai didi

angular - 为什么 ngrx/store 示例应用程序使用多个商店? (如何设计店铺)

转载 作者:太空狗 更新时间:2023-10-29 17:18:37 27 4
gpt4 key购买 nike

我正在尝试制作一个相当大的、可扩展的应用程序,我被告知最好的做法是让一个单一的商店存储当前的全局状态(包括 transient /重新加载时删除和 session 持久数据)整个应用程序,即使它被分成多个模块。

现在我想知道为什么 example app of the ngrx/store您可以在 ngrx/store-website 上找到它使用多个商店;每个 reducer 都有自己的一段代码,如下所示:

export interface State {
ids: string[];
entities: { [id: string]: Book };
selectedBookId: string | null;
};

export const initialState: State = {
ids: [],
entities: {},
selectedBookId: null,
};

那么为什么官方指南没有像大多数人推荐的那样使用单一商店呢?或者只要所有 reducer 都属于一个模块,它就被认为是一个单一的商店吗?如果没有,我如何实现一个单一的中央商店?我的想法是使用 Store generic 并将它们的变体放入表中。另一种选择是拥有一个单独的 JS 对象,您可以使用 reducer-actions 更新其属性。无论哪种方式,您都必须在表或对象中有一些结构。这有什么最佳做法吗?您知道更好的示例应用程序吗?

最佳答案

示例应用使用单个商店。在这种情况下,状态是 reducer 的接口(interface)。您可以在一个商店中有多个 reducer 。

使用单个商店被认为是最佳做法。一个商店应该足以满足几乎所有中小型应用的需求。

有一个很好的示例,说明使用 NGRX Store 重新创建了 Angular Tour of Heroes 应用程序。你可以在这里找到它: http://bodiddlie.github.io/ng-2-toh-with-ngrx-suite/

关于angular - 为什么 ngrx/store 示例应用程序使用多个商店? (如何设计店铺),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42952101/

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