pji*_*ers 21 javascript ecmascript-6 redux react-redux
我正在使用Redux创建一个应用程序,并且为了解决为什么最好将动作和缩减器放在单独的文件中.至少,这是我从所有例子中得到的印象.
每个操作或操作创建器似乎映射到由reducer调用的单个函数(在switch语句内).将它们放在同一个文件中是不合逻辑的?它还使操作类型和切换案例使用相同的常量更容易,因为它不必在文件之间导出/导入.
Sha*_*ere 28
来自Redux创作者Dan Abramov:
许多减速器可以处理一个动作.一个减速器可以处理许多动作.将它们放在一起否定了Flux和Redux应用程序如何扩展的许多好处.这导致代码膨胀和不必要的耦合.您失去了对来自不同地方的相同操作做出反应的灵活性,并且您的动作创建者开始像"设置者"一样,与特定的状态形状耦合,从而将组件耦合到它.
来自Redux文档:
我们建议您编写独立的小型reducer函数,每个函数负责更新特定的状态片.我们称这种模式为"减速器组成".一个给定的动作可以由所有,一些或没有一个处理.这使得组件与实际数据更改分离,因为一个操作可能影响状态树的不同部分,并且组件不需要知道这一点.
有关详细信息,请参阅Twitter上的此对话以及github 上的此问题.