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


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

查看所有标签

猜你喜欢:

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

深入应用C++11

深入应用C++11

祁宇 / 机械工业出版社 / 2015-5 / 79

在StackOverflow的最近一次世界性调查中,C++11在所有的编程语言中排名第二, C++11受到程序员的追捧是毫不意外的,因为它就像C++之父Bjarne Stroustrup说的:它看起来就像一门新的语言。C++11新增加了相当多的现代编程语言的特性,相比C++98/03,它在生产力、安全性、性能和易用性上都有了大幅提高。比如auto和decltype让我们从书写冗长的类型和繁琐的类型......一起来看看 《深入应用C++11》 这本书的介绍吧!

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

在线压缩/解压 JS 代码

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

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试