gpt4 book ai didi

angular - 从商店的多个切片获取 NGRX 数据的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-04 12:41:35 26 4
gpt4 key购买 nike

从 NGRX 存储的多个切片获取数据是否有最佳实践?我正在使用 NGRX 实体,我有公司、用户、供应商和订单的切片,在特定组件中,我需要访问所有 4 个。我尝试了几种不同的方法,但它们看起来都很麻烦。

我应该使用来自多个实体的 4 个单独的选择器,还是在根级别创建一个选择器并包含详细信息页面所需的一切更好?

目前,我正在使用 combineLatest 运算符

this.subscription.add(this.store.select(fromUser.getUsers).pipe(
combineLatest([
this.store.select(fromCompanies.selectAll),
this.store.select(fromVendors.selectAll),
this.store.select(fromOrders.getOrders),
]))

最佳答案

我发现组合选择器的最佳方式是使用选择器,这也是性能最高的方式,因为 NgRx 在这里做了一些优化。

createSelector 可以由多个选择器组成,在您的情况下是:

export const foo = createSelector(
fromUser.getUsers,
fromCompanies.selectAll,
fromVendors.selectAll,
fromOrders.getOrders,
(users, companies, vendors, orders) => {
// logic here
}
)

有关详细信息,请参阅 Sharing data between modules is peanuts

关于angular - 从商店的多个切片获取 NGRX 数据的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58385399/

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