我正在阅读一个反应样本项目。这是reducer代码:
export const COUNTER_INCREMENT = 'COUNTER_INCREMENT';
export const COUNTER_DOUBLE_ASYNC = 'COUNTER_DOUBLE_ASYNC';
// ------------------------------------
// Action Handlers
// ------------------------------------
const ACTION_HANDLERS = {
[COUNTER_INCREMENT] : (state, action) => state + action.payload,
[COUNTER_DOUBLE_ASYNC] : (state, action) => state * 2,
};
我不知道ACTION_HANDLERS
的含义。这个javascript的功能是什么?
由于
答案 0 :(得分:4)
ACTION_HANDLERS只是一个Computed property names的javascript对象。
从ECMAScript 2015开始,也是对象初始化器语法 支持计算属性名称。这允许你放一个表达式 在方括号[]中,将作为属性名称计算。这是 对称的属性访问器语法的括号表示法, 您可能已经习惯于阅读和设置属性
对于每种操作类型,它都有arrow function。
答案 1 :(得分:1)
ACTION_HANDLERS是使用const
关键字声明的常量变量。常量就像一个常规变量,除了它的值不能被重新分配。
ACTION_HANDLERS是一个包含处理函数的对象