在常数对象中定义所有通量动作类型是一种常见实践



这个问题基于有关磁通的文章。

一种常见的做法是在常数对象中定义所有操作类型,并在整个应用程序上引用该对象以保持一致性。

普通实践是什么意思?我的意思是作者为什么决定这是一种普遍的做法?它是基于什么?什么是真实源?如果我决定在较低情况下使用动作类型怎么办?

通量是一种设计模式,而不是特定的库或实现。当应用程序大小和复杂性增长时,此模式有助于处理状态

例如:考虑一个用于管理电子邮件的应用程序,在单击电子邮件时,我们将具有lock state 更改:

  • 用"电子邮件视图"替换" inbox视图"(电子邮件列表(。
  • 将电子邮件标记为本地
  • 减少当地的总未读计数器
  • 更改浏览器的URL
  • 发送Web请求以将电子邮件标记为服务器上的电子邮件

处理用户单击电子邮件的顶级组件中的功能必须描述发生的所有 state 更改。这将加载一个具有很多复杂性和责任的单个功能。

redux是通量的一个概念,具有以下关键思想来解决问题:

  • 所有应用程序的数据都在单个数据结构中,称为 state ,该数据结构在商店中保存。
  • 您的应用程序从此商店读取 state
  • 状态永远不会直接在商店外突变。
  • 散发出描述发生了什么的动作的观点。
  • 通过组合旧状态和一个称为reducer的函数来创建一个新的状态

Store 是一个对象,在应用程序中保存全部 - 或至少 - 状态。它将在顶级组件中创建和实例化。所有儿童组件都将访问IT实例。

看看您的引用与 store 概念的相似之处:

" ...定义常数对象中的所有动作类型,并引用 对象在整个应用程序中以保持一致性。"

最新更新