gpt4 book ai didi

ngrx - 使用构造函数在 store 上进行选择,使用 ngOnInit 从 store 调度

转载 作者:行者123 更新时间:2023-12-04 01:14:56 25 4
gpt4 key购买 nike

我的问题与 有关调度 & 选择 从ngrx商店。

让我们看一下官方示例应用程序中的以下代码:

export class CollectionPageComponent implements OnInit {
books$: Observable<Book[]>;

constructor(private store: Store<fromBooks.State>) {
this.books$ = store.select(fromBooks.getBookCollection);
}

ngOnInit() {
this.store.dispatch(new collection.Load());
}
}

我想了解选择 的动机是什么从 ngOnInit 发送constructor 中选择 .

任何人都可以提供解释吗?

附言顺便说一句,上面是来自ngrx示例应用程序的示例代码,可以在这里找到: https://github.com/ngrx/platform/blob/master/example-app/app/books/containers/collection-page.ts

最佳答案

构造函数在类被实例化时执行,并确保类字段的正确初始化。
这是 Angular 解析提供者的地方,你可以在构造函数中作为参数传递。

在第一次检查数据绑定(bind)属性(组件的输入和输出)后调用 ngOnInit 生命周期钩子(Hook)。
更详细的解释见 this question .

的动机选择 来自构造函数中的ngrx store 和调度据我了解,来自 ngOnInit 是 选择 是初始化组件类的一部分。由于this.books$是一个 Observable,在构造函数中初始化它是有意义的,这样它就可以在创建后立即使用。假设 bookCollection.Load()this.books$ 发出一个值你想要this.books$成为那些书的观察者之前 发出最终值。

由于您希望将这些值发送到 this.books$ 有意义调度 ngOnInit 中的操作。这样你就可以确定this.books$被初始化。

This answer对类似的问题也可能有所帮助。

关于ngrx - 使用构造函数在 store 上进行选择,使用 ngOnInit 从 store 调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47002978/

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