我是新手ngrx,我遇到了这个小问题,我还没弄明白如何解决.
基本上我有一个从商店ListComponent渲染一个ListItemComponents 数组ngrx.
@Component({
...
template: `
<list-item *ngFor="let item of item$ | async" [data]="item">
</list-item>
`
})
export class ListComponent implements OnInit {
item$: Observable<ListItem>;
constructor(private store: Store<ListState>) {}
ngOnInit() {
this.item$ = this.store.select(selectListItems);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,在内部ListItemComponent,在某些特定情况下,我想渲染另一个ListComponent我可以添加项目的地方,但是这不起作用,因为我收到Maximum call stack size exceeded错误.
我的猜测是,如果我错了,请纠正我,因为嵌套ListComponent是访问与根相同的状态切片ListComponent,它只是试图嵌套并一遍又一遍地渲染相同的列表到无穷大.
所以这就是问题,我应该如何组合我的选择器,以便在状态树中为每个嵌套提供正确的入口点ListComponent?
这是一个有效的stackblitz项目,现在我的应用程序中渲染List内部的逻辑ListItem是不同的,但问题是相同的.