redux store订阅未更新

时间:2019-01-31 19:14:29

标签: angular redux rxjs

我有一个带有以下构造函数的search.component:

constructor(private searchService: SearchService,
                private store: Store<any>) {
        this.searchService.search(this.searchTerm$)
            .subscribe(results => {
                this.store.dispatch(new StoreSearchActions(results));
                this.router.navigate(['/store-search']);
            });
    }

然后我有一个search-view.component像这样:

ngOnInit() {
this.store.select(STORE_SEARCH_STATE).subscribe((searchResults) => {
            console.log("STORE searchResults -> ", searchResults)
        });
}

最后,该服务如下所示:

search(terms: Observable<string>) {
        return terms.debounceTime(400)
            .distinctUntilChanged()
            .switchMap(term => this.searchEntries(term));
    }

一旦用户开始输入输入(search.component),它将被重定向到搜索视图,在该视图中,该组件被订阅到由search.component的分派填充的商店中。 问题在于,当第一次加载search-view.component时,它是未定义的console.log(searchResults)。如果您继续键入,则根本没有日志,就像订阅从未工作过一样。 我不确定为什么在调试时订阅不带任何内容,我可以看到数据在操作前后传递,然后传递到reducer。

0 个答案:

没有答案