对象分配动态变量
Object assign with dynamic variable
我的 Redux 商店中有这个 initialState
:
const initialState = {
isFetching : false,
active : {}
}
其中 active
是一个对象。
现在我有一个 应该 附加或添加 属性 到 active
的 data
属性 的操作,像这样:
[DASHBOARD_TEMPLATE_DATA_RECEIVE]: (state, action) => {
return Object.assign({}, state, {
isFetching : false,
active : Object.assign({}, active, {data[action.key]: action.data})
})
}
如您所见,data[action.key]
是不允许的。我该怎么做?
试试这个:
active: Object.assign({}, active, {
data: Object.assign({}, data, {
[action.key]: action.data
})
})
首先构建对象,使用方括号表示法将字符串用作 属性 名称:
var data = {};
data[action.key] = action.data;
然后使用新创建的对象:
[DASHBOARD_TEMPLATE_DATA_RECEIVE]: (state, action) => {
return Object.assign({}, state, {
isFetching : false,
active : Object.assign({}, active, data)
})
}
我想计算的 属性 名称可能有用。
未测试:
active: Object.assign({}, active, {[data[action.key]]: action.data})
我的 Redux 商店中有这个 initialState
:
const initialState = {
isFetching : false,
active : {}
}
其中 active
是一个对象。
现在我有一个 应该 附加或添加 属性 到 active
的 data
属性 的操作,像这样:
[DASHBOARD_TEMPLATE_DATA_RECEIVE]: (state, action) => {
return Object.assign({}, state, {
isFetching : false,
active : Object.assign({}, active, {data[action.key]: action.data})
})
}
如您所见,data[action.key]
是不允许的。我该怎么做?
试试这个:
active: Object.assign({}, active, {
data: Object.assign({}, data, {
[action.key]: action.data
})
})
首先构建对象,使用方括号表示法将字符串用作 属性 名称:
var data = {};
data[action.key] = action.data;
然后使用新创建的对象:
[DASHBOARD_TEMPLATE_DATA_RECEIVE]: (state, action) => {
return Object.assign({}, state, {
isFetching : false,
active : Object.assign({}, active, data)
})
}
我想计算的 属性 名称可能有用。
未测试:
active: Object.assign({}, active, {[data[action.key]]: action.data})