与ngrx / example-app类似,我正在构建一个界面,用户可以通过输入文本字符串来搜索某些内容。
我想使用可选参数(query=search_string
)更新网址,以便当用户使用后退按钮返回搜索时,他们会返回已加载的相同搜索。 (我也会对他们所在的页面做同样的事情)
使用ngrx添加可选参数的适当方法是什么?
我的想法是把它放到BookEffects
,因为我们不想在去抖时间之前更新路线。但由于某种原因,感觉不对......
[编辑]
为了进一步扩展,当用户导航回搜索页面时,需要以某种方式引导搜索。所以我的想法是修改FindBookPageComponent
以包括:
constructor(..., private route: ActivatedRoute) {
...
}
ngOnInit() {
let query = this.route.snapshot.params['query'];
if (query) {
this.store.dispatch(new book.SearchAction(query));
}
}
由于debounce
中的SearchAction
导致搜索结果出现之前会出现不自然的延迟,因此仍然感觉很尴尬。 这是否意味着我们还应该创建单独的搜索操作:ImmediateSearchAction
?
答案 0 :(得分:0)
ngrx中没有任何内容说明如何实现此操作,这取决于您。
您可以进行InstantSearchAction并在SearchAction效果中使用反跳功能将其转换为立即搜索。通过这样做,您可以轻松地重用现有的化简器,并仍然使操作按上下文分开。
我会做什么:
推荐阅读/视频: