我在Redux和Redux中的新概念起初对我来说很奇怪。假设我有一个redux状态的数组。
const state = [
{show: false, id : '1'},
{show: false, id : '2'},
{show: false, id : '3'},
{show: false, id : '4'},
{show: false, id : '5'}
]
我想克隆这个数组并改变/改变一个对象。
我在减速机上试过这样的东西,但它不起作用。
return [...state.concat(Object.assign({}, state[0], {show:true} )).slice(1,5)];
任何帮助或解释都会很好。
答案 0 :(得分:2)
我认为您可能已在问题中使用[]
切换{}
。
假设你的州是:
const state = [
{ show: false, id: '1' },
{ show: false, id: '2' },
{ show: false, id: '3' },
{ show: false, id: '4' },
{ show: false, id: '5' }
]
你可以写一个这样的缩减器:
return [
...state.slice(0, index),
Object.assign({}, state[index], { /* your changes */ })
...state.slice(index + 1)
]
其中index
是您要更改的元素的索引。