Redux项目结构该以何种方式组织一直是备受争议的,本文主要介绍常见的三种Redux项目结构组织方式。

常见的三种组织方式

  1. 按照类型
  2. 按照功能模块
  3. Ducks

按照类型

类型指的是文件在项目中充当的角色类型(actions、components、reducers、containers)。

把所有的文件放到对应类型的文件夹下。

这种设计方式在开发的时候,需要频繁的在不同的文件夹下进行切换,修改不同的文件。当项目结构逐渐变大的时候,这种组织方式使用起来非常不方便。

按照功能模块

把同一个功能模块下的所有相关文件放到同一个文件夹下。

方便查找文件。很可能存在不同的模块之间存在相互耦合的情况。

Ducks

将相关联的actions、actionTypes和reducers写到一个文件中。划分模块的依据是:应用状态的state,而不是界面功能。

总结

我个人更推荐Ducks的组织方式,它集合了按照类型按照功能模块两种组织方式的优点。