用动态变量分配对象

Joe*_*ito 4 javascript merge object assign lodash

initialState在Redux商店中有这个:

const initialState = {
  isFetching : false,
  active     : {}
}
Run Code Online (Sandbox Code Playgroud)

active对象在哪里。

现在我有一个动作应该追加或添加属性activedata属性,就像这样:

[DASHBOARD_TEMPLATE_DATA_RECEIVE]: (state, action) => {
    return Object.assign({}, state, {
      isFetching   : false,
      active       : Object.assign({}, active, {data[action.key]: action.data})
    })
}
Run Code Online (Sandbox Code Playgroud)

如您所见,这data[action.key]是不允许的。我该怎么做?

Iso*_*Iso 5

试试这个:

active: Object.assign({}, active, {
  data: Object.assign({}, data, {
    [action.key]: action.data
  })
})
Run Code Online (Sandbox Code Playgroud)