gpt4 book ai didi

angular - 选择器 NGRX 内的调度操作

转载 作者:行者123 更新时间:2023-12-02 16:52:31 24 4
gpt4 key购买 nike

在我的选择器中,我正在检查商店中的数据是否已加载并对应于路由器参数。路由器是“真实来源”,所以如果没有加载数据,我想发送一个 Action 来获取它。在选择器中做这样的事情可以吗?

  (currentGameState, router): Game => {
if (currentGameState.game.id === router.state.params.gameId &&
currentGameState.isLoaded) {
return currentGameState.game;
}
}

最佳答案

副作用由效果类处理(调度操作、调用 api 等)。

选择器仅用于使用异步从存储中获取数据。这意味着不会在此处执行任何副作用,例如 dispatch 操作。

正常更新需要在ngOnInit中初始化数据加载

export class PostComponent implements OnInit {
public posts$: Observable<IPost[]>;
constructor(private store: Store<IPostManagementState>) {}
ngOnInit(): void {
this.store.dispatch(new GetAllPosts());
this.posts$ = this.store.pipe(select(selectPostList));
}
}

然后在 View 中使用异步管道

<div *ngFor="let post of posts$ | async">{{ post.body }}</div>

可以查看代码here

关于angular - 选择器 NGRX 内的调度操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57924814/

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