小编典典

我应该使用一种或多种操作类型来表示此异步操作吗?

reactjs

我正在为搜索系统构建前端,其中几乎所有用户操作都需要触发相同的异步操作来重新获取搜索结果。例如,如果用户输入关键字,那么我们需要提取/api/search?q=foo,如果他们后来选择了我们提取的类别/api/search?q=foo&categoryId=bar。我原来有单独的行动类型FETCH_RESULTSSELECT_CATEGORYDESELECT_CATEGORY,等我创建了一个异步操作的创造者FETCH_RESULTS,但其他人是同步的。我考虑得越多,最终他们都需要从后端重新获取结果并根据后端的响应来更新应用程序状态。

使用单个异步动作创建者进行任何更改对我来说有意义吗?还是对每个不同的用户操作(选择关键字,类别或过滤器)使用异步操作创建者会更好?

我认为精细动作的优点是事件可以更准确地反映用户的行为(例如,用户选择了类别),而不是必须查看有效载荷以找出实际更改的内容,但它们都非常相似。


阅读 225

收藏
2020-07-22

共1个答案

小编典典

当然,只有根据您对项目的了解,您才能真正回答这些问题。我认为使操作更精细没有任何内在的优势,如果没有,则不值得付出额外的努力。我将有一个通用FILTER_CHANGED事件,而不用担心能够看到具体更改的内容-
大概动作不会很复杂,因此我不会对动作进行大量调试。随着过滤器状态变得越来越复杂和多样化,分解这些动作可能更有意义。但是默认情况下,我看不到太多价值。

2020-07-22