handleActions() 中括号 [] 的用途是什么?
What is the purpose of brackets, [], in handleActions()?
我遇到了 vanilla counter tutorial:
const reducer = handleActions(
{
[increment]: state => ({ ...state, counter: state.counter + 1 }),
[decrement]: state => ({ ...state, counter: state.counter - 1 })
},
defaultState
);
我还没有在 redux-action docs 中看到必须将操作括在括号内的目的和含义,[]
。
没有这些,reducer 将无法正常工作。
有什么想法吗?
这是 ES6 中引入的 computed object property name 符号。
简而言之,它允许您使用可变键定义对象:
const key = 'someKey';
const obj = {[key]: 1} // {someKey: 1}
在您的特定示例中,increment
是一个由 const increment = createAction('INCREMENT');
创建的动作,因此这就是为什么您需要使用 [increment]
在对象中定义 属性 .
我遇到了 vanilla counter tutorial:
const reducer = handleActions(
{
[increment]: state => ({ ...state, counter: state.counter + 1 }),
[decrement]: state => ({ ...state, counter: state.counter - 1 })
},
defaultState
);
我还没有在 redux-action docs 中看到必须将操作括在括号内的目的和含义,[]
。
没有这些,reducer 将无法正常工作。
有什么想法吗?
这是 ES6 中引入的 computed object property name 符号。
简而言之,它允许您使用可变键定义对象:
const key = 'someKey';
const obj = {[key]: 1} // {someKey: 1}
在您的特定示例中,increment
是一个由 const increment = createAction('INCREMENT');
创建的动作,因此这就是为什么您需要使用 [increment]
在对象中定义 属性 .