枚举 – 为什么Flux架构示例使用常量作为动作类型而不是字符串?

栏目: IOS · 发布时间: 7年前

内容简介:代码日志版权声明:翻译自:http://stackoverflow.com/questions/27109652/why-do-flux-architecture-examples-use-constants-for-action-types-instead-of-stri
在Flux架构的所有例子和解释中 – Facebook的React动作类型名称的对应方法被引用为枚举常量而不是字符串. (见 http://facebook.github.io/flux/

的例子)我只是在寻找为什么这是首选方法.

我在创作和制作方面看不到好处方便,因为您是否键入constants.actionTypes.UPDATE_DATA(枚举常量)或“UPDATE_DATA”(字符串),您必须知道并键入确切的名称.事实上,有时使用非串增加了复杂性.您不能轻易地将动作类型作为键和动作处理程序作为值.

组织,细化还是其他的好处?我很好奇.

你在问题的结尾触动了它,但有一些好处.精简是明显的;另一个事实是,静态分析 工具 可以更容易地找到用途并捕获错误.

根据您的通量实施,他们也可以帮助您捕捉错字.例如,在Fluxxor中,如果您尝试将商店处理程序绑定到未定义的操作类型,则会遇到异常;这意味着传递c.UPDATE_DTA将抛出,但传递“UPDATE_DTA”将不会.

最后,他们可以帮助作为文档.如果您的应用程序生成的所有操作类型都以集中的方式定义为常量,则可以更容易地总结系统作为一个整体响应的操作.

有一个ES6功能可用于 BabelTraceur (但不在此时的JSX转换),有助于创建对象字面值;语法是:

var handlers = {
  [const.UPDATE_DATA]: this.handleUpdateData,
  [const.OTHER_THING]: this.handleOtherThing
};

代码日志版权声明:

翻译自:http://stackoverflow.com/questions/27109652/why-do-flux-architecture-examples-use-constants-for-action-types-instead-of-stri


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件架构设计

软件架构设计

温昱 / 电子工业出版社 / 2012-7 / 39.00元

《软件架构设计:程序员向架构师转型必备(第2版)》围绕“软件架构设计”主题,从“程序员”成长的视角,深入浅出地讲述了架构师的修炼之道。从“基础篇”、到“设计过程篇”、到“模块划分专题”,《软件架构设计:程序员向架构师转型必备(第2版)》覆盖了架构设计的关键技能项,并且对于架构设计过程中可能出现的各种问题给与了解答。一起来看看 《软件架构设计》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具