枚举 – 为什么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


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

查看所有标签

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

风云Flash ActionScript高级编程艺术

风云Flash ActionScript高级编程艺术

赵英杰 / 第1版 (2006年7月1日) / 2006-7 / 45.00元

本书从基本的Actionscript语言概念开始介绍,配以实际的程序实例并穿插生动的图示说明,深入浅出地讲解Flash ActionScript程序的运用逻辑与概念,让读者从实例中学习进而融会贯通。同时,本书也说明面向对象程序设计(00P)的语法及常用类别实例,提升读者制作F1ash作品的造诣和能力。全书共分为10章,精彩实例包括以三角函数制作的抽奖轮盘,FlashLite手机版孔明棋游戏,Bit......一起来看看 《风云Flash ActionScript高级编程艺术》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换