如何设计Redux商店和行动?

Jos*_*eph 9 reactjs redux

ReactJS和Redux提供了一个新的范例,就开发应用程序的前端而言.两者都有相对简单的API,从技术角度来看,花一点时间后很容易掌握.但从设计角度来看,我一直无法找到有关最佳做法或陷阱的建议.

我在哪里可以找到有关如何设计我的全球Redux商店的建议或建议?将应用程序的整个状态保存在全局存储中似乎很快就会变得难以处理.这样做我一定要避免什么?那些改变全球状态的行为呢?根据动作数据或更具体的动作制作更少可以执行不同操作的动作是否更好?

mar*_*mas 8

这是一个很好的问题,但是要切实回答是有点困难的,因为这很大程度上是一个"它依赖"的问题.但是,我强烈建议您深入了解redux.js.org文档.关于塑造API或减少重复或一般笨拙的建议,有很多一些智慧.

另外,我还会添加一些常规提示:

  • 你通常不像你想象的那样经常需要国家.所以有些东西可以通过更多的道具和更少的商店驱动状态来实现
  • 将事物分组为更大的"主题"通常可以帮助商店层面的数据组织; 因此,您可以在商店中为给定用户auth提供更高级别的属性,并且任何其他"主题"将以相同的方式进行分组.
  • 有时,您可能会创建稍微更详细的状态结构,但权衡是可预测性和更高的整体简单性.仍然是对MVC或双向疯狂的胜利
  • 最后,作为一个小问题,"全球"国家并不一定非常全球化.从某种意义上说,单个状态树意味着所有状态都是"全局的"(或至少是统一的),但除非您将商店暴露给每个组件,否则它不是真正的全局.如果有意义的话,很好地解耦的组件会让人想到从顶部更容易的IMO流动的数据,事情并不一定是"全局的".

希望那有所帮助!

也可以看看: