我正在为搜索系统构建一个前端,几乎所有用户操作都需要触发相同的异步操作来重新获取搜索结果.例如,如果用户输入关键字,那么我们需要提取/api/search?q=foo
,如果他们稍后选择我们提取的类别/api/search?q=foo&categoryId=bar
.我原来有单独的行动类型FETCH_RESULTS
,SELECT_CATEGORY
,DESELECT_CATEGORY
,等我创建了一个异步操作的创造者FETCH_RESULTS
,但其他人是同步的.我想的越多,它们最终都需要从后端重新获取结果,并根据后端的响应更新应用程序状态.
对于我来说,使用单个异步动作创建器进行任何更改是否合理?或者为每个不同的用户操作(选择关键字,类别或过滤器)使用异步操作创建者会更好吗?
我认为粒度操作的优点是事件更准确地反映用户所做的事情(例如用户选择了一个类别)与必须查看有效负载以找出实际改变的内容,但它们都非常相似.
Nat*_*gen 11
当然,根据您对项目的了解,您可以真正回答这个问题.我认为让行动更加细化并没有任何固有的优势,如果没有,那就不值得付出额外的努力.我会有一个通用的FILTER_CHANGED
事件,而不用担心能看到什么特别改变 - 大概是动作不会复杂,所以我不会调整动作很多.随着过滤器状态变得更加复杂和多样化,打破行动可能更有意义.但默认情况下,我并没有真正看到太多价值.
归档时间: |
|
查看次数: |
2787 次 |
最近记录: |