在常量对象中定义所有磁通动作类型是一种常见的做法吗?

时间:2018-02-16 10:48:45

标签: javascript reactjs flux reactjs-flux

问题是基于the article关于变化的问题。

  

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

常见的做法是什么意思?我的意思是为什么作者认为这是一种常见做法?它的基础是什么?什么是真相来源?如果我决定使用小写的动作类型怎么办?

1 个答案:

答案 0 :(得分:0)

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

例如:考虑一个用于管理电子邮件的应用,点击电子邮件时我们将关注更改:

  • 替换"收件箱视图" (电子邮件列表)使用"电子邮件视图"。
  • 将电子邮件标记为本地阅读
  • 在本地减少未读的总计数器
  • 更改浏览器的网址
  • 发送网络请求以将电子邮件标记为在服务器上阅读

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

Redux是Flux的一个概念,它有以下关键思路来解决这个问题:

  • 您的所有应用程序数据都在一个名为 state 的数据结构中,该结构存储在商店中。
  • 您的应用从此商店中读取
  • 状态永远不会在商店外直接变异。
  • 视图会发出描述所发生事件的操作。
  • 通过将旧的状态和一个名为reducer的函数组合在一起来创建一个新的状态

商店是一个在应用中拥有全部或至少大多数状态的对象。它将在顶级组件中创建和实例化。所有子组件都将访问该实例。

看看商店概念与您的引文有多相似:

  

" ...定义常量对象中的所有动作类型并引用它   而是跨应用程序来对象以保持一致性。"