我正在尝试更新reducer中对象数组中的特定索引。州有一系列对象。 isSearch是对象的属性。在操作的有效负载中,我传递要更新的索引和值。这是我的代码:
case actions.UPDATE:
return {
...state,
arrObj: {
...state.arrObj,
arrObj[action.payload.index].isSearch : action.payload.isSearch,
},
};
我收到此错误Unexpected token, expected , at arrObj[action.payload.index].
有人可以告诉我如何更正此错误?
答案 0 :(得分:1)
我想来自immutability-helper
的{{1}}包对您更新嵌套的redux状态有很大帮助
npm
答案 1 :(得分:0)
如果您要更新州内的单个值,请尝试以下操作:
case actions.UPDATE:
var newState = { ...state }
var arrayObj = newState.arrayObj = state.arrayObj.slice()
var element = arrayObj[action.payload.index] = { ...arrayObj[action.payload.index] }
element.isSearch = action.payload.isSearch
return newState