0

我遇到了一个香草柜台教程

const reducer = handleActions(
  {
    [increment]: state => ({ ...state, counter: state.counter + 1 }),
    [decrement]: state => ({ ...state, counter: state.counter - 1 })
  },
  defaultState
);

我没有在redux-action 文档中看到必须将操作包装在括号内的目的和含义,[].

没有这些,减速器将无法正常工作。

有任何想法吗?

4

1 回答 1

2

这是ES6 中引入的计算对象属性名称表示法。

简而言之,它允许您使用变量键定义对象:

const key = 'someKey';
const obj = {[key]: 1} // {someKey: 1}

在您的特定示例中,increment是由 创建的操作,const increment = createAction('INCREMENT');因此您需要使用它[increment]来定义对象中的属性。

于 2019-09-03T07:34:01.740 回答