如何命名/构造Redux动作?

问题描述 投票:0回答:1

我喜欢redux,但我不确定我是否以一致的方式创造行动。

我觉得API调用的动作类型非常简单,假设我的API正在做一些事情:

type: DO_SOMETHING_REQUEST   payload: nothing or data we want to send
type: DO_SOMETHING_SUCCEEDED payload: the data returned
type: DO_SOMETHING_FAILED    payload: the error (if we care about our users)

这都是花花公子。然而,当我们谈论与前端相关的动作时,比如更改控制显示模态的状态开关,我看到两种截然不同的方法。

type: CAT_PICTURE_MODAL_SHOW
type: CAT_PICTURE_MODAL_HIDE

要么

type: CAT_PICTURE_MODAL_SET_VISIBLITY   payload: true / false

我倾向于选择第一个选项而不是第二个选项,并明确设置状态开关。即使你写了更多的代码,我觉得它更具描述性。

是否仅针对布尔类型的数据显示/隐藏,开/关,左/右,可爱/丑陋的动作类型?或者它取决于您认为数据将来如何发展?模态显然不会获得动作CAT_PICTURE_MODAL_HIDE_BETTER,但您可以很容易地想象CAT_PICTURE_LIKE在有效负载中具有(高)数值。

redux action
1个回答
0
投票

这是一个有趣的问题,我不认为有黑/白的答案。就个人而言,我总是意识到我编写的代码量:你编写的代码越多,你以后需要维护的代码就越多。

当我无法同时分派动作的开始和结果时,我只对异步请求使用多动作方法。否则,我个人觉得拥有单一动作创作者更简洁明了。

我不认为这个讨论仅限于redux,但是对于代码中的任何类型的函数都更广泛:如果你要创建一个你想增加/减少的计数器:你写的方法是incrementCounter()decreaseCounter()还是只有一个changeCounterBy(amountToIncrease)?这个问题的答案可能是你原来问题的答案。无论如何,祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.